聚合根和聚合的代码示例

时间:2012-11-29 17:28:16

标签: c# domain-driven-design aggregate aggregateroot

我试图了解如何使用聚合根和聚合,但我找不到任何具体信息或示例。

例如,我有以下三个实体:

  1. 调查
  2. QuestionGroup
  3. 问题
  4. 如果没有调查 QuestionGroup 实体,问题实体就不能存在。所有问题都属于一个问题组,所以我的理解是

      

    QuestionGroup是问题的聚合根

    如果没有成为调查的一部分,问题组也不可能存在,所以

      

    调查是聚合根到问题组

    以上似乎是嵌套聚合根的情况。

    Q1。你如何在c#中实际创建聚合根和聚合?代码中的样子是什么样的?您是使用内部类还是聚合根持有引用?我找不到任何好的例子。

    Q2。更进一步说明如何编写嵌套聚合根?

    THX!

1 个答案:

答案 0 :(得分:-1)

调查是聚合根。

class Survey {
    public IEnumerable<QuestionGroup> QuestionGroups { get ... }
}
class QuestionGroup {
    public IEnumerable<Question> Questions { get ... }
}
class Question {
    ...
}