知识卡片

理顺对象图先分辨实体与值对象

普通读书笔记卡 · 1974.i

内容

设计聚合时值对象更易识别归属,因聚合只能以实体为根、值对象不具独立性只能依附实体。同一Address被员工与客户复用时,Employee与Customer分属两聚合,复用意味着需各形成副本,故须将Address与ZipCode定义为值对象。实体以身份标识为唯一性、不能克隆形成副本,故同一实体不能同时存在于多个聚合(除非定义为两个不同实体),这一约束使分辨实体/值对象在理顺对象图时极为重要。

参考来源

- 位置:《解构领域驱动设计》16.2.1(源文件:_epub-src/OEBPS/028.xhtml) - 结论依据:说明值对象可复制、实体不可复制对聚合识别的约束。 - 原始内容:聚合只能以实体为根,说明值对象不具备独立性……它们对Address类的复用意味着需要让Address在两个聚合中形成副本,故而需将Address以及ZipCode定义为值对象……以身份标志为唯一性判断的实体不能通过克隆形成副本。