Ale*_*oun 4 cqrs event-sourcing
我的问题与此有关.虽然相关的问题和答案显示了我们为什么要将它们分开,但我想确保我对意图的理解是正确的.在我看过的所有示例中,似乎命令的意图是它可以被拒绝并且它更新内存中的对象,然后事件将更新数据库.现在我知道我在这里过度简化了,但是理解命令是为了更新内存和事件更新数据库是正确的吗?如果没有,有人可以请我澄清.
我正在努力学习这些模式,这就是我到目前为止所掌握的模式,我想确保它是正确的.提前致谢.
你的理解是正确的.
针对域模型发出命令并询问特定行为.域模型检查是否允许执行并相应地运行.可以将命令视为应执行的特定用例.
另一方面,事件只是宣布已经发生的事情(因为你无法改变过去,所以不能拒绝它们.)
基于这些事件,您的应用程序(以及集成场景中的其他应用程序)可以做出相应的反应 - 例如更新读取模型数据库.
特别是当事件采购应用模式,那么事件是什么被存储和回放需要时补充水分,你的域模型.