我對這種特殊情況三個實體:一個人可以聚合根引用另一個聚合根的非聚合根?
- 問題(聚合根)
- QuestionFeedback(未聚合根)
- QuestionFeedbackCategory(聚合根)
由於QuestionFeedback是內Question,QuestionFeedbackCategory是否也存放QuestionFeedback對象的列表?或者QuestionFeedbackCategory只需要處理Question對象?
我對這種特殊情況三個實體:一個人可以聚合根引用另一個聚合根的非聚合根?
由於QuestionFeedback是內Question,QuestionFeedbackCategory是否也存放QuestionFeedback對象的列表?或者QuestionFeedbackCategory只需要處理Question對象?
如果問題和QuestionFeedback都有分類,並假設每個只能有一類,我會這樣
public class Question {
...
CategoryId categoryId;
Set<QuestionFeedback> feedback;
...
}
public class QuestionFeedback {
...
CategoryId categoryId;
...
}
public class Category {
CategoryId id;
String name;
String description;
}
你不必把AR本身「內部」另一個AR/VO模型,可以。您可以引用其作爲ID的Value Object。
編輯:請閱讀這裏提到的三篇文章http://dddcommunity.org/library/vernon_2011。從ORM的思維模式來看,我曾經對如何建模這些類型的關係感到困惑。通過聚合
的聚合根可與外部僅在這些情況下進行通信只允許使用陣列(水合物體)。
你能提供一個更詳細的描述你的域名嗎?例如,QuestionFeedbackCategory和Question或QuestionFeedback之間的關係是什麼? – eulerfx