如何保证聚合根内部一致性
但是假如是聚合根内部的实体元素分别来自不同的数据库,那么如何保证这些元素之间是相互一致的呢
[该贴被EricGogh于2013-10-10 15:41修改过]
强一致性是逻辑业务上的一致性,因为有逻辑强一致性,所以才有聚合,才有聚合根保证这种强一致性。与数据库等技术概念无关。
在DDD中先后关系:业务逻辑--->领域模型---->数据库。
在CQRS架构中,我们甚至只使用数据库来保存导致状态变化的事件,这样通过eventSourcing来保证聚合内部状态变化的一致性,根本不使用数据库来保存状态,这样完全杜绝数据库用来持久化聚合对象的用法,ORM等工具毫无用处之地。