代码之家  ›  专栏  ›  技术社区  ›  Jeff

CQRS匹配事件和命令

  •  3
  • Jeff  · 技术社区  · 12 年前

    我刚开始使用CQRS,我发现我的Event类定义与我的Command定义几乎是1比1。除了明显的代码重复之外,我正在努力找出我做错了什么。当然,在某些情况下,事件与命令不匹配。。。。但并不多。

    以简单的CUD场景为例:

    命令类:

    • 创建帖子
    • 更新帖子
    • 删除帖子

    事件类别:

    • 创建后
    • 更新后的帖子
    • 删除的帖子

    对此有什么建议吗?

    如果有什么不同的话,我正在使用一个事件存储。

    谢谢

    2 回复  |  直到 12 年前
        1
  •  5
  •   Dennis Traub    12 年前

    您通常不会在CRUD场景中使用CQRS。有更简单的工具和模式可以创建CRUDy应用程序。

    CQRS为行为丰富的场景带来了许多优势,其中动词不是 创建、读取、更新、删除 ,但更像是真实的行为。喜欢 晋升员工 黑名单供应商 .

    一旦你开始对一个行为丰富的领域进行建模,可能仍然会有许多相互关联的命令/事件——这并不是一件坏事——但你也会发现命令和由此产生的事件在大小(包含的数据)和数量上都可能大不相同。

        2
  •  1
  •   Jesus is Lord    10 年前

    为了补充Dennis Traub的回答,CQRS扩展了您如何将代码结构到规范领域,即UI如何工作。点不是所有的UI都是CQRS友好的;你想要更多类似 Task-based-UI's rather than CRUD-y UI's .

    从CRUD-y UI开始,您可能会发现自己在应用CQRS时感到沮丧。