我正在开发一个应用程序,用户可以按照与Twitter类似的方式跟随对方。DDD:连接对象是实体对象还是值对象?
读完DDD后,我明白我的用户是实体对象 - 我使用他们的唯一ID来引用它们。
当一个用户'追随'另一个(即形成连接)时,该关系被存储在多对多表中。其字段包括FollowerID
,TargetID
和Status
。每个追随者/目标组合只能有两条记录(一个是活动的,另一个是非活动的),所以我可以根据它们的属性安全地识别对象。
所以,我认为我的连接对象是值对象,而不是实体对象,但我不确定。你能帮我做这个决定吗?
“不包含用户连接的数据,连接没有标识” - 该连接对于FollowerID和TargetID的组合是唯一的。所以如果我们有一个TaregtID和FollowerID,我认为它是userids,我们可以识别一个连接。那么它怎么不是一个实体对象呢? – 2012-04-27 00:43:56
@HariSubramaniam,另一种说法是[本网站](http://lostechies.com/joeocampo/2007/04/23/a-discussion-on-domain-driven-design-value-objects/)说,“没有一个实体,价值对象就不能独立生存”。确定哪个是哪一个并不总是容易的,但是在思考并研究之后,我倾向于将其视为一个价值对象。 – Matt 2012-04-27 14:19:35