Dojo
最新
最佳
搜索
订阅
解道Jdon
架构设计
领域驱动
DDD介绍
DDD专辑
战略建模
领域语言UL
领域事件
商业分析
工作流BPM
规则引擎
架构师观点
数据工程
产品经理
系统思维
微服务
微服务介绍
微服务专辑
模块化设计
SOA
API设计
clean架构
SpringBoot
分布式事务
分布式架构
Kubernetes
DevOps
编程设计
GoF设计模式
模式专辑
面向对象
函数式编程
编程语言比较
编程工具比较
形式逻辑
前端编程
Reactive编程
Jdon框架
Rust语言
ChatGPT
Web3
模因梗
幽默梗
程序员吐槽
面试技巧
Java入门
数字化转型
认知偏差
道德经
GitHub工具
更多话题
关于Aggre-Repository-eventBus的关系
12-07-25
brighthas
Aggre产生事件,然后由Repository发送给eventBus,再由eventHandle进行处理。
那么,Repository什么时候把事件 publish 到 eventBus呢?
是当 Aggre.store 时? 还是 ... 请BANQ和各位大神帮忙赐教
banq
2012-07-26 09:03
2012-07-25 10:01 "@
brighthas
"的内容
Repository什么时候把事件 publish 到 eventBus呢? ...
需要返回吗?如果担心出错,可采取存储的事件回滚再操作。
brighthas
2012-07-26 09:21
2012-07-26 09:03 "@
banq
"的内容
需要返回吗?如果担心出错,可采取存储的事件回滚再操作。 ...
当 commandHandle 调用时候会触发 domain aggre function. create event, 这时候 是马上publish到 event bus 吗?
banq
2012-07-26 09:23
2012-07-26 09:21 "@
brighthas
"的内容
这时候 是马上publish到 event bus 吗? ...
当然,速度越快越好,不过是
异步
的,不影响领域对象自身逻辑正常运转。
brighthas
2012-07-26 09:30
2012-07-26 09:23 "@
banq
"的内容
当然,速度越快越好,不过是
异步
的,不影响领域对象自身逻辑正常运转。 ...
关于 领域对象不暴露自己状态属性,我有些不习惯,就好比如下代码:
// changeName事件产生调用来更改属性。
function onChangeName(event){
this.name = event.data.name;
}
我想知道这样做的好处和是否必须这样做?
[该贴被brighthas于2012-07-26 13:21修改过]
banq
2012-07-26 14:12
2012-07-26 09:30 "@
brighthas
"的内容
领域对象不暴露自己状态属性 ...
因为状态是被动作操作的,而动作可能是系列动作,这些系列动作需要保证原子性,这样才能保证状态数据的完整性和一致性。
状态不被暴露,就是不允许外界直接操作状态,只能通过领域对象提供的特定方法操作,而这些方法内都有保证状态一致的操作顺序。
CQRS命令查询分离架构