知识卡片
区分OO聚合/合成与DDD聚合
内容
须厘清OO聚合/合成(类间组合关系,表达整体含部分)与DDD聚合(是边界)的区别。如Account与Transaction有OO聚合关系却分属两个DDD聚合;Question与Answer是OO合成关系却共组一个以Question为根的DDD聚合。
参考来源
- 位置:《解构领域驱动设计》15.4.3(源文件:_epub-src/OEBPS/027.xhtml)
- 结论依据:避免把OO组合关系与DDD聚合边界混为一谈。
- 原始内容:我们必须厘清面向对象的聚合(OO聚合)与领域驱动设计的聚合(DDD聚合)之间的区别……DDD聚合是边界,它的边界内可以只有一个实体对象,也可以包含一些具有关联关系、泛化关系和依赖关系的实体与值对象。