请教banq老师,四色原型的聚合根划分问题

13-05-09 tecentID3618B
PPT可以充当多种role,每种role也会拥有自己的值对象,role与ppt是共享主键,在业务活动中,是由role直接参与操作的,如果由ppt作为聚合根,则所有外部对象都只能通过ppt来访问role,role只能被间接调用,那么ppt这个门面就会变得臃肿不内聚,如果role作为聚合根,ppt就被多个role共享,显然ppt比role的生命周期更长,它就不是role的内部领域对象,这种情况下ppt只能独立成为聚合根,这样role和ppt都成为独立的聚合根,可是ppt销毁时,对应的role肯定不存在,是ppt在控制role的生命周期,因此ppt是唯一的聚合体啊,又绕回去了,怎么办呢?

另外,如果采用ppt为聚合根的方案,当要求role运行时动态绑定的时候,role就无法实现为ppt的接口,也就无法采用Qi4j的方式进行mixin,这意味着你不得通过ppt获取role并直接操作role,破坏了聚合根作为唯一入口、保护内部逻辑一致性的作用

[该贴被tecentID3618B于2013-05-09 13:19修改过]

猜你喜欢