【问题标题】:CQRS client command managementCQRS 客户端命令管理
【发布时间】:2015-04-19 18:52:25
【问题描述】:

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

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

  • 更新项目命令
  • CreateSubItemCommand
  • RemoveSubItemCommand
  • UpdateSubItemCommand
  • ...
  • ItemFieldAUpdatedEvent
  • SubItemFieldAUpdatedEvent
  • SubItemFieldBUpdatedEvent
  • ...

所以这是我的询问,客户端获取模型的当前状态,用户编辑本地模型,单击“保存”按钮,这就是我的错误所在。我应该

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

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

那里有一个例子吗,我用谷歌搜索过,但发现关于这个主题的注意事项。

谢谢,

多米尼克

【问题讨论】:

  • 我建议您阅读有关基于任务的 UI:cqrs.wordpress.com/documents/task-based-ui
  • 您好 Mequrel,首先感谢您花时间理解问题并给出相关答案。我不知道这个概念,是的,这似乎是一个很好的解决方案。但是,UI 设计已由客户端指定,与基于任务的 UI 不兼容。我会尝试向我的客户提出这个 UI 设计。虽然 CQRS 并没有在 UI 方面受到限制。再次感谢您的灯!
  • 嗨 Mequrel,您能否复制粘贴该评论作为答案,以便我将其标记为已回答?谢谢

标签: cqrs


【解决方案1】:

我建议你阅读Task-based UI

【讨论】:

    猜你喜欢
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-12-15
    • 1970-01-01
    相关资源
    最近更新 更多