聚合根,工厂和部分聚合

时间:2012-07-09 17:25:25

标签: java domain-driven-design

我有一个名为Configuration的聚合根,它代表为多租户应用程序上的特定配置客户配置的所有选项。由于有许多选项需要配置,用户通常会遵循一系列步骤(通过向导),然后有时希望部分保存数据以便稍后(可能是第二天)完成。

我熟悉Factory概念,其中一条规则是,如果它们无法通过不变规则,则可以创建部分聚合对象。

我的问题是如何解决部分对象用例?

2 个答案:

答案 0 :(得分:2)

如果您想要阻止实体处于不完整状态,并且如果您要存储部分填充的实体仅用于存储中间请求(而不是将其视为一个实体),那么将是一个好主意一个单独的实体来代表“创建请求”?有意义的是,创建请求(您可以将其视为另一方面的工厂)可以部分填充和保留,并在完成后,用于创建所需的实际实体。

答案 1 :(得分:1)

阅读您的要求告诉我,只允许部分数据集存在聚合,因此我没有看到问题?没有任何不变量表示“一旦完成所有步骤,聚合只被视为有效”​​,事实上恰恰相反,似乎。