知识卡片
领域对象DO指领域模型对象且缩写易与数据对象混淆
内容
DDD将业务逻辑层分解为应用层和领域层,业务对象在领域层就变成了领域对象(domain object,DO),准确说法是领域模型对象——包括聚合边界内的实体和值对象、领域事件和领域服务,游离在聚合之外只要封装了领域逻辑的瞬态对象(多为值对象)也可算领域模型对象。有的语境(如贫血/富领域模型)将领域模型对象特指为组成聚合的实体与值对象,以此和领域服务区分,有一定合理性;但宽泛地讲,领域行为也属领域概念一部分、同受统一语言约束,封装领域行为的领域服务自然也可算领域模型对象。仍是简称惹祸:DO也可理解为数据对象(data object),与领域对象南辕北辙。发散:用简称指代对象前,交流双方务必先明确设计统一语言。
参考来源
- 位置:《解构领域驱动设计》第19章 19.1.2(源文件:_epub-src/OEBPS/032.xhtml)
- 结论依据:原文界定DO为领域模型对象,并提示DO与数据对象缩写冲突。
- 原始内容:DO也可以认为是数据对象(data object)的简称,这就与领域对象的定义完全南辕北辙了。