Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
问个问题跟DDD相关的问题
14-05-30
gsft
在
DDD
中两个BoundContext中的Agg是如何交互的?如果采用事件进行交互,那么在一个UnitOfWork中,事件源Agg的属性状态发生了多次变化,最后uintofwork提交时可能有变化也可以没变化,此时假设有变化的情况下;那么此时是发出一个事件还是多个事件,那些属性变化的临时值是有有必要也发出来;那如果不发出来只发出一个uow中的最终状态的事件;如何做到一般化处理?如果不用事件交互,那有什么办法交互啊?谢谢
tangxuehua
2014-05-30 13:06
不要再使用unit of work了,要做到一次只修改一个聚合根;如果要修改多个聚合根,则实现为最终一致性;第一个聚合根修改后,产生事件,框架会负责把事件publish出去,然后第二个聚合根响应事件;至于框架何时publish事件,每个框架不同;enode中则是在持久化事件之后,publish事件。
unit of work是经典
DDD
中的概念,用于应付一次处理多个聚合根的情况下,将多个聚合根的修改实现为事务;而更好的做法,应该是要做到一次只修改一个聚合根,聚合内强一致性,聚合之间最终一致性;所以,不要再使用unit of work了。
DDD聚合