“事件”概念可能就很清晰了,实体 值对象 、服务 和事件,四个要素,这样在领域层,为实体服务的函数就不叫领域服务,而称为领域事件,实体通过发出各种事件调度技术架构为其服务,而将领域服务真正落实为开放给应用层的接口
如果在这里引入“事件”概念可能就很清晰了,实体 值对象 、服务 和事件,四个要素,这样在领域层,为实体服务的函数就不叫领域服务,而称为领域事件,实体通过发出各种事件调度技术架构为其服务,而将领域服务真正落实为开放给应用层的接口。DDD创始人Eric Evans最近发表了一篇文章:
在聚合根实现CAP定理 Acknowledging CAP at the Root -‐-‐ in the Domain Model
Eric Evans在文中阐述了聚合体内部 聚合体之间以及领域事件Domain event和有界上下文bounded context等概念。
CAP定理主要突出最终一致性,Eric Evans在这篇文章强调了聚合体内部必须保证高一致性,类似关系数据库更新那种,当然内存中聚合体可以采取线程锁等方式实现;而聚合体之间可以是一种弱一致性,也就是实现最终一致性,Eric还是使用了货运Cargo这个案例,在不同地方装卸时间不一样导致更新不一致。
如下图,聚合与一致性的关系: