2011-08-18 78 views
0

下面是我试图做的简单版本。DDD骨料设计问题

我有一个故事可以被用户查看并且该用户可以将其添加到他们的选票上。商业规则是一个故事只能属于评论者投票,而投票不能包含超过12个故事。

现在我有故事作为包含大量行为和状态转换的聚合根。到目前为止,审稿人还没有出现。我很难模拟这种设计。我现在有两个聚集现在故事和StoryReviewer?

任何想法都会很棒!

回答

0

如果我理解正确的话故事可以处于'未审查'状态,换言之,故事本身存在,然后可能会被审查并添加到用户选票中。如果这是真的,那么它看起来像你有两个聚合根用户和故事。

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

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