【问题标题】:DDD Aggregate Design QuestionDDD 聚合设计问题
【发布时间】:2011-08-18 12:47:07
【问题描述】:

这是我正在尝试做的一个过于简化的版本。

我有一个用户评论的故事,该用户可以将其添加到他们的选票中。业务规则是一个故事只能属于审阅者选票,并且选票不能包含超过 12 个故事。

现在我将 Story 作为聚合根,其中包含许多行为和状态转换。直到现在,审稿人还没有进入画面。我很难为这个设计建模。我现在有两个聚合的 Story 和 StoryReviewer 吗?

任何想法都会很棒!

【问题讨论】:

    标签: c# .net domain-driven-design


    【解决方案1】:

    如果我对您的理解正确,故事可能处于“未审核”状态,换句话说,故事本身存在,然后可能会被审核并添加到用户选票中。如果这是真的,那么看起来您有两个聚合根用户和故事。

    如果它不是真的并且故事总是属于某个用户的选票并且永远不能从一个用户重新分配给另一个用户,那么您可能只需要一个聚合根:用户。 Story 只是用户聚合中的一个实体。

    无论哪种方式,选票本身都可能是 User/StoryReviewer 聚合中的一个实体。 Ballot 似乎是执行 12-stories-per-ballot 规则的好地方。

    【讨论】:

      猜你喜欢
      • 2020-01-21
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      • 2019-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-26
      相关资源
      最近更新 更多