我在想,如果课程和章节分别是两个人在做,那么数据库设计部分如何共享文档。最终目标还是大家共享稳定的文档。
http://www.jdon.com/45721
这篇帖子也可以看看。发现saga,process manager问题。
我在想,如果课程和章节分别是两个人在做,那么数据库设计部分如何共享文档。最终目标还是大家共享稳定的文档。
http://www.jdon.com/45721
这篇帖子也可以看看。发现saga,process manager问题。
纠正一下自己:聚合根之间不直接引用现在看来比较理想化了,具体操作会有很多问题。
现在更倾向于可以直接相互引用。
我个人认为不能聚合根不能引用,这是DDD的特点,会破坏上下文边界,见Evans 的文章:http://www.jdon.com/44491
关于实现方面问题,这两天我正好在折腾Jdon框架,放出两个聚合根不互相引用,通过消息实现调用的案例:
https://github.com/banq/jdonframework/tree/master/src/test/java/com/jdon/sample/test/cqrs
例子中aggregateRootA中只包含aggregateRootB的ID即可。
[该贴被banq于2013-09-22 22:05修改过]
如果是CQRS+Event Sourcing的架构,那聚合根与聚合根之间的通信都是通过事件来完成,所以每个聚合根都只需要关注自己的数据,每个聚合根只需要告诉外部我发生了什么即可;另外通过CQRS的架构,使得我们的领域层不需要包含各种统计信息,不必为了满足查询的功能而设计各种统计信息。所以我们的领域层只需要封装纯粹的业务逻辑即可。在职责两个前提下,聚合根与聚合根是不需要相互对象引用的,而只需要保存聚合根的ID即可。
[该贴被tangxuehua于2013-09-23 18:19修改过]