关键问题是划分聚合边界以后,如何设计两个聚合边界之间的通讯和耦合,建立防腐层等等。聚合边界之间通讯只能通过聚合根也就是实体进行的,或者专门负责通讯的类,如同一个国家的外交部是专门负责对其他国家交互的,国家的首都是聚合根,国家有自己的边界。
聚合体之间使用异步消息进行通信不失去为最耦合的一种对象解耦方式。
这个案例中Order和Book分别是不同聚合边界中根,就不能直接将Order和Book进行耦合关联了,Order边界内的Book可能是一个值对象,而且此book非聚合根Book。比如一个Book下订单的是第一版,新的第二版出来了,两个Book就不同了。
[该贴被banq于2013-01-12 08:36修改过]