|
|
1
17
如果要从一个与foo无关的条列表中进行选择,则这不是聚合根。例如,如果没有医嘱,则无法获取医嘱项目列表,因此这是单个聚合根(医嘱),但可以获取要分配给医嘱项目的产品列表,因此产品不是医嘱聚合根的一部分。 注意,虽然orderitem是order aggregate根目录的一部分,但您仍然可以独立地创建和更新它。但是,如果没有订单,你就不能得到它。对于您的条也是一样的,即使它是foo的一部分,您也可以获取每个(foo.bar)并使用它,或者执行foo.addbar(new bar())。但是如果你需要得到没有foo的列表,那么bar不是foo聚合的一部分。它是一个独立的实体。 嗯,我就是这么看DDD的,但我当然不是埃里克·埃文斯。 |
|
|
2
8
有聚合根的原因是:
我的拿手:
如果需要选择
但是…
如果你更新了
但是,如果您需要访问
记住,聚合根可以由其他聚合根组成。你可能会发现
|
|
|
3
2
你确定酒吧需要成为一个实体吗?您是否需要在域中跟踪并更改它?如果您可以将其视为一个值对象,我建议您从服务中获取它,然后将所选值对象“连接”到foo实体。在下拉列表中显示。 |