2011-08-18 34 views
0

下面是我試圖做的簡單版本。DDD骨料設計問題

我有一個故事可以被用戶查看並且該用戶可以將其添加到他們的選票上。商業規則是一個故事只能屬於評論者投票,而投票不能包含超過12個故事。

現在我有故事作爲包含大量行爲和狀態轉換的聚合根。到目前爲止,審稿人還沒有出現。我很難模擬這種設計。我現在有兩個聚集現在故事和StoryReviewer?

任何想法都會很棒!

回答

0

如果我理解正確的話故事可以處於'未審查'狀態,換言之,故事本身存在,然後可能會被審查並添加到用戶選票中。如果這是真的,那麼它看起來像你有兩個聚合根用戶和故事。

如果它不是真的,故事總是屬於某個用戶的選票,並且永遠不能從一個用戶重新分配給另一個用戶,那麼您可能只需要一個聚合根:用戶。而Story只是用戶聚合中的一個實體。

無論哪種方式,選票本身可能是User/StoryReviewer聚合內的實體。選票似乎是執行每票12票的規則的好地方。