Reference Person类令我困惑

时间:2013-02-28 23:29:55

标签: .net architecture domain-driven-design

我目前正在阅读Applying Domain-Driven Design with Examples in C# and .NET。关于域模型的初步草拟,我有两个问题:

  1. 我不是以英语为母语的人,那么“参考人”在商业领域或英语中的含义是什么?
  2. 作者对草图进行了评论,虽然“参考人”类出现在图上的两个不同的聚合中,但在运行时它们是同一个实例,这怎么可能?如果聚合根被垃圾收集不会导致收集该实例,从而使其他聚合不稳定?

1 个答案:

答案 0 :(得分:2)

我在这里发布我们正在谈论的图片:

enter image description here

  1. 客户有时是一个组织,而不是个人,它可能有一个您可以联系的ReferencePersons列表。我们可以说参考人是代表组织的人。 (总计1)

    当客户想要下订单时,我们还需要确切地知道我们正在与之交谈的人。 (聚合2)

  2. 你应该仔细阅读,作者在书中评论说“类ReferenceSperson在图4-13中有两个不同的聚合,但实例不是”。这意味着当您从数据库同时加载订单和客户时,Order.ReferencePerson和Customer.ReferencePersons [index]不会指向内存中的同一对象,即使他们是同一个人。

  3. 此外,即使他们指向同一个实例,也会在没有引用它们时收集.Net对象。如果收集了聚合1但聚合2仍然引用了ReferencePerson A,则A仍未收集。