【问题标题】:Command pattern - How to preserve execution state?命令模式 - 如何保持执行状态?
【发布时间】:2019-04-23 22:04:30
【问题描述】:

我有以下操作。我需要创建预订,在创建预订期间我需要协调几件事。通过第三方系统进行预订,然后发送电子邮件,最后确定报价等等......

我能否将这个逻辑封装在一个 CreateReservationCommand 中,或者我需要三个命令,然后用什么模式来编排命令执行?命令可以有执行状态吗?

我也觉得四人组意义上的指挥部不同于 CQRS 意义上的指挥部。我说的对吗?

更新:

在这里让我感到困惑的是,就 CQRS 而言,您可以拥有命令和事件,并假设第三方系统向我的系统发送消息 CREATE_RESERVATION 在 CQRS 的上下文中这不是命令吗?更像是一个完整的工作流程可能是 SAGA 模式?

【问题讨论】:

标签: design-patterns architecture domain-driven-design cqrs command-pattern


【解决方案1】:

我能否将这个逻辑封装在一个 CreateReservationCommand 中,或者我需要三个命令,然后用什么模式来编排命令执行?命令可以有执行状态吗?

您可以...但通常编排簿记使用process manager pattern 之类的东西,它会跨越多个事务。

我有一种感觉,例如,四人组意义上的 Command 与 CQRS 意义上的 Command 不同。我说的对吗?

你是绝对正确的——完全不同的想法。 “CQRS 中的命令”是 Gregor Hohpe 的 Command Message 模式的后代。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 2020-04-11
    • 2018-08-20
    • 1970-01-01
    • 2016-07-30
    • 2021-12-28
    • 2010-11-12
    相关资源
    最近更新 更多