我刚刚阅读了关于聚合的一章,并发现我误解了某些内容。 我们有三个对象:成员,项目,投标。 这里是一本书的代码片段:域模型聚合
public class Member
{
public string Id {get; set;}
...
}
public class Item
{
public string Id {get; set;}
public IList<Bid> Bids {get; set;}
...
}
public class Bid
{
public Member Member {get; set;}
...
}
作者日期写的项目和它的出价是一个总的投标不无项目是有意义的。所以Item和Member是聚合根。 但是我认为如果没有会员,Bid也没有意义。而且这似乎是合乎逻辑的。那么在这种情况下什么是竞标?它是项目聚合的一部分吗?
那么如何检索会员的出价?我想,会员类需要引用此成员出价的物品。然后在Item聚合根上可能有一个函数来检索该商品的成员出价。 –
我写道,Item和Member是AR。嗯,我不同意在一个域模型中聚合可能在不同的BC中。 – Danil
@ Meta-Knight对域进行建模与数据库存储无关,此示例非常简单,因此它类似于如何对ORM实体进行建模,但就是这样。我一直在考虑域和持久性的不同,所以我在处理域时并不关心存储。 – MikeSW