【发布时间】:2016-09-07 15:29:25
【问题描述】:
我正在开始一个新的 DDD 项目,但我觉得我还没有真正掌握这些概念。到目前为止,我的域中有两个聚合根,Recipe 和 Food。他们的关系是这样的:
`Recipe`->*`Ingredient`->`Food`
Ingredient 是数量 + Food
我认为可能在 Recipe 聚合中包含聚合 (Food) 很糟糕,但它确实很方便,因为它允许通过导航关系来计算食谱的营养价值。
我也不存储计算结果,我每次都重新计算,所以如果食物发生变化,食谱会自动更新,我不知道这是否是个好主意。
另外,是否可以为Recipe+Ingredient 提供一个存储库,因为它们在同一个聚合中,我必须加载所有成分,这样我才能在配方的构造函数中传递它们?
【问题讨论】:
-
如果您正在发明自己的项目来学习 DDD,“编辑”是一个非常糟糕的领域。寻找模型可以为自己做出决定的东西。
标签: domain-driven-design aggregate