我与骨料和骨料根挣扎。我有一个自然的聚合根,可以满足大约60%的用户请求。即这些请求自然适用于聚合根。领域驱动设计 - 总根
在我的骨料我只能存在作为聚合根的成员另一个实体。但是,用户会被告知这个其他实体对象。从概念上讲,有时用户可以直接操作这个非聚合根对象。
所以,我觉得我有几个选择:
- 他们可以他们俩是取决于总根于正在由用户请求的操作。
- 所有的操作都需要经过顶层聚合根。
注意顶层聚合根将保持这个其他实体的集合。
实施例:
主要聚合根:车载
第二实体:座位(汽车具有2或4个座位取决于类型)。在我的领域,座椅只能作为汽车的一部分存在。
域内大多数手术是在汽车的水平。所以这将是聚合根的一个很好的候选人。但是,(我挣扎了这里的例子),有些操作会在座位级别,例如SpillCoffee,ChangeFabric,Clean ....
座椅和车都可以聚合根吗?或者我应该总是从Car开始?
感谢