知识卡片
业务对象BO定义宽泛DDD中建议不用
内容
业务对象(business object,BO)是企业领域用来描述业务概念的语义对象,定义非常宽泛。一些业务建模方法使用了它,如SAP的公共事业模型把客户相关信息抽象为合作伙伴、合同账户、合同、连接对象等业务对象,是站在高层次的高度抽象业务概念。若系统采用经典三层架构,可认为业务对象就是业务逻辑层中封装了业务逻辑的对象;其业务逻辑恰是DDD关注的核心,故DDD建立的领域模型皆可视为业务对象。但BO并未清晰界定粒度与职责划分,更像组成领域分析模型中的领域概念对象,为避免混淆,作者建议不要在DDD中使用该概念。发散:概念太宽泛而缺乏粒度/职责界定时,与其继续借用不如在方法体系内换用定义更精确的术语(实体/值对象/领域服务)。
参考来源
- 位置:《解构领域驱动设计》第19章 19.1.2(源文件:_epub-src/OEBPS/032.xhtml)
- 结论依据:原文认为BO定义宽泛、缺乏粒度与职责界定,建议DDD中不使用。
- 原始内容:业务对象由于并没有清晰地给出粒度的界定、职责的划分……为避免混淆,我建议不要在领域驱动设计中使用该概念。