我正在開發一個應用程序,用戶可以按照與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