【发布时间】:2014-09-30 07:30:51
【问题描述】:
我正在研究 CQRS 架构。现在我们已经准备好所有的部分,我们按照这个流程处理一个命令:
- 命令由客户端发送并接收到 HTTP 端点 ChangePersonLanguage
- 命令由ChangePersonLanguageCommandHandler调度和处理
- 在命令处理程序中,我们封装了业务逻辑,因此我们加载根聚合并执行方法Person.ChangeLanguage(language)
- 此时,PersonRootAggregate 引发域事件PersonLanguageChanged,其中包含根聚合对象
- 一个事件处理程序执行逻辑以保持聚合,另一个处理程序执行逻辑以发送通知电子邮件
这是正确的顺序吗? 我可以在命令处理程序中执行持久化逻辑并删除一个事件处理程序吗?
【问题讨论】:
标签: cqrs