【问题标题】:CQRS for commands light on logic用于命令的 CQRS 点亮逻辑
【发布时间】:2021-11-29 17:39:04
【问题描述】:

在使用 CQRS、域驱动设计和事件溯源实现域时,是否值得为几乎没有域逻辑的命令创建命令、事件、聚合和命令处理程序,例如如果我有要求说,创建一个组,其中唯一的要求可能是确保组名称不为空,在这种情况下是否需要有一个 Group 聚合、一个 CreateGroup 命令、一个 GroupCreated 事件和一个 CreateGroupCommandHandler ?

【问题讨论】:

  • 在您的具体情况下,您将在哪里管理幂等性?您是否需要确保不会多次创建组?这在简化设计中会出现在哪里?

标签: domain-driven-design cqrs event-sourcing


【解决方案1】:

即使领域对逻辑很轻,可以这么说,建模聚合(内存中的持久性、约束管理等)和事件(意图建模、业务事务日志 + 审计日志、集成等)带来的价值也是如此。 ) 仍然适用。此外,将命令消息与事件消息分开建模的原因仍然适用(这与消息的意图有关,它们可以独立发展)。更何况,逻辑领域的光,可以这么说可能并不总是如此。

我认为这可能是可能的,但是没有一个表示命令处理程序的显式类。聚合映射的命令可以通过其他方式完成。

但是,对于域不管理约束的情况,例如在事件确实是隐式外部的情况下,例如如果这些组在其他地方进行管理并且只需要复制到我们的域中,那么只需一个事件就足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 2016-12-19
    • 1970-01-01
    相关资源
    最近更新 更多