值对象应该保持对实体的引用吗?

时间:2012-02-29 11:52:26

标签: c# domain-driven-design

值对象是否应该在DDD方法中保持对实体的引用?

修改

@Dmitry:

这可能是我的情况。在这里,我附加了类图,其中Account保持对IInvoiceable项集合的引用。我将Tenant视为实体,但它只拥有一个帐户,我不认为Account需要身份。它是Tenant的一部分。或者我应该将其视为实体?对我来说没有意义。

enter image description here

2 个答案:

答案 0 :(得分:21)

是的,它可以。这将是一个相对模糊的情况,但DDD允许它,它可能是有用的。来自DDD book by Eric Evans

  

VALUE OBJECTS甚至可以引用ENTITIES。例如,如果我要求在线地图服务从旧金山到洛杉矶的风景优美的行车路线,它可能会得到一个路线对象,通过太平洋海岸公路连接洛杉矶和旧金山。该Route对象将是一个VALUE,即使它引用的三个对象(两个城市和一个高速公路)都是ENTITIES。

page #98

答案 1 :(得分:0)