我目前正在阅读Applying Domain-Driven Design with Examples in C# and .NET。关于域模型的初步草拟,我有两个问题:
答案 0 :(得分:2)
我在这里发布我们正在谈论的图片:
客户有时是一个组织,而不是个人,它可能有一个您可以联系的ReferencePersons列表。我们可以说参考人是代表组织的人。 (总计1)
当客户想要下订单时,我们还需要确切地知道我们正在与之交谈的人。 (聚合2)
你应该仔细阅读,作者在书中评论说“类ReferenceSperson在图4-13中有两个不同的聚合,但实例不是”。这意味着当您从数据库同时加载订单和客户时,Order.ReferencePerson和Customer.ReferencePersons [index]不会指向内存中的同一对象,即使他们是同一个人。
此外,即使他们指向同一个实例,也会在没有引用它们时收集.Net对象。如果收集了聚合1但聚合2仍然引用了ReferencePerson A,则A仍未收集。