【发布时间】:2017-11-14 03:21:38
【问题描述】:
我有一个关于聚合设计的问题,正如 Vernon 在他在 DDD 社区 (Effective Aggregate Design, Part 3) 的文章和他的书(实施领域驱动设计)中提出的那样。
在那里,他在设计BacklogItem 和Task 时探索了两种可能的方法。其中一个任务不是它自己的聚合根,因为它运行“使真正的不变量不受保护的风险”,聚合根是BacklogItem
但是,设计聚合根的其他准则之一是只能通过根本身来访问实体。这意味着,为了在这种方法中访问Task,现在必须找到它所属的BacklogItem 并询问积压项目。通常,虽然人们只想看到分配给Tasks,而不是积压项目。
在这种情况下,我们需要直接访问实体,而不是通过 Backlog 项。这与提议的设计有何关系? (我知道这可能只是一个教育演示,但如果这是现实生活,人们怎么会这么想呢?)
提前感谢您的任何回答
【问题讨论】:
标签: domain-driven-design aggregateroot