我正在创建一个 Web CRUD 应用程序,该应用程序在处理内部逻辑后会将事件发布到其他系统以更新其数据。
我正处于实施 CQRS 的第一步,我必须在只有一个“保存”按钮的表单中为用户的所有可能意图创建特定命令,这听起来很奇怪。这意味着很多命令(针对每个属性或值对象)来捕获我的需求中不需要但在即将订阅的项目中需要的意图。我喜欢只做我的有限上下文要求的事情。
另一件需要考虑的事情:我必须使用 session 来比较数据是否发生了变化。保存后伪造数据将隐藏在 UI 中显示错误数据的并发情况。
编辑:我刚刚发现这个线程Greg Young 建议某些屏幕只是 CRUD 并且将更新作为默认行为并没有什么不好。