CQRS客户端命令管理

时间:2014-06-26 17:26:59

标签: cqrs

我正在使用CQRS构建一个新项目,它是一个3层应用程序,并且预计客户端状态是同步的。服务器向客户端接收命令和回调事件。

目前,该模型有几个可以添加/删除/更新的子模型,每个模型都有自己的命令。事件是特定领域的,即

  • UpdateItemCommand
  • CreateSubItemCommand
  • RemoveSubItemCommand
  • UpdateSubItemCommand
  • ...
  • ItemFieldAUpdatedEvent
  • SubItemFieldAUpdatedEvent
  • SubItemFieldBUpdatedEvent
  • ...

所以这是我的询问,客户端获取模型的当前状态,用户编辑本地模型,单击Save按钮,这就是我的bug。我应该

  • 比较模型的原始状态(使用已接收事件更新)和模型的编辑状态以生成一组命令(在每个接收到的事件上,识别已更新的字段并通知用户是否需要编辑了一个已更改的字段,
  • 创建命令,因为用户正在编辑模型正在执行和撤消编辑(这将很难管理),
  • ...

基本上我不知道应该采用哪种策略来生成命令!

那里有一个例子吗,我是谷歌周围但发现注意到这个问题。

谢谢,

多米尼克

1 个答案:

答案 0 :(得分:3)

我建议您阅读Task-based UI