知识卡片

泛化关系按整体视角或独立视角确定聚合根

普通读书笔记卡 · 1974.k

内容

泛化是强耦合,但按调用者视角分两种设计。整体视角:调用者不关心子类差异、把继承体系视为整体,应以父类为聚合根,子类共享父类掌控的身份标识(ORM用单表继承),如Flight父类代表完整航班、子类仅进出港行为差异。独立视角:调用者只关注具体子类、子类有各自特殊属性、体现概念独立性,应以每个子类为独立聚合根、身份标识各不相同,父类仅作抽象与复用机制,如养老/失业/医疗等保险各自独立成聚合。

参考来源

- 位置:《解构领域驱动设计》16.2.2 泛化关系的处理(源文件:_epub-src/OEBPS/028.xhtml) - 结论依据:区分继承体系两种视角对应的聚合根选择。 - 原始内容:整体视角……应以泛化的父类作为聚合根。独立视角……应以特化的子类作为独立的聚合根……养老保险、失业保险……应为子类定义各自独立的聚合。