DDD聚合设计问题

时间:2011-08-18 12:47:07

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

这是我想要做的过于简化的版本。

我有一个由用户审核的故事,该用户可以将其添加到他们的选票中。商业规则是一个只能属于审稿人投票的故事,而选票不能包含超过12个故事。

现在我将Story作为聚合根,其中包含许多行为和状态转换。到目前为止,审稿人尚未涉足。我很难对这个设计进行建模。我现在有两个聚合物Story和StoryReviewer吗?

任何想法都会很棒!

1 个答案:

答案 0 :(得分:0)

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

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

无论哪种方式,选票本身可能是User / StoryReviewer聚合中的实体。选票似乎是一个强制执行12层每选票规则的好地方。