首页 > 解决方案 > 使用值对象创建聚合

问题描述

值对象可以创建聚合吗?我认为如果一个值对象可以引用另一个聚合根,它将可以创建另一个聚合。

标签: c#domain-driven-design

解决方案


据我所知,没有任何设计规则不鼓励在 VO 上放置 AR 的工厂方法。我认为这与在 AR 上使用工厂方法创建另一个 AR 相同。

但是,如果创建过程变得复杂到需要外部依赖项,那么 VO 可能不适合该工厂方法。

在这种情况下,最好将 VO 作为依赖项传递给生活在专用工厂类中的创建过程。


推荐阅读