这个问题在这里有一点背景....
由于没有人对我的问题给出令人信服的答案,我将重新表述我的问题,并让回答问题的人受益。也许我没有正确提出我的问题。
我假设此时您阅读了我最初的问题。
所以,ContactInfo 不需要域身份,因为属于 User。没有用户它“不能存在”。它只不过是一个包装其他类和集合(来自数据库)的类(nhibernate 组件),因此,如果我想将其替换为新实例,使其不可变将只是一场噩梦。我需要创建一个具有 n 个参数的完整构造函数,并重新创建整个对象图,只是因为我想更新地址集合中的一条街道。在我看来,愚蠢。
那么,ContactInfo 到底是什么?一个可变的值对象?我很确定 DDD 大师 Evan 有一个关于“可变值对象”的谷歌警报,并且每次出现这两个术语时都会有一个驱魔人发送。
我对此感到非常困惑。几乎卡住了,因为我不想成为“f ... it”有点像程序员,只是因为(但此时我别无选择)而使 ContactInfo 可变。所以,在我最终对 DDD 的概念有自己的解释(和实现)之前,我想有一些意见。
PS:我知道这可能会显得粗鲁,但请不要再复制和粘贴 Evan 书中的答案。既不是抽象的概念。我们都知道 Order 和 Orderline,我们都知道结构和引用类型、Blog、Post 和 Comments。这是一个特定场景,您需要了解有关此问题的所有信息......所以我真的很感激这个场景的具体答案。
谢谢 :)