命令模式-如何保留执行状态?

时间:2018-11-21 10:42:42

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

我有以下的手术。我需要创建一个保留,在创建保留的过程中,我需要协调一些事情。预订是通过第三方系统订购的,然后发送电子邮件,然后确定报价等等。

我可以在一个CreateReservationCommand中包含此逻辑,还是需要三个命令,然后以哪种模式编排命令执行?命令可以完全具有执行状态吗?

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

更新:

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

1 个答案:

答案 0 :(得分:3)

  

我可以在一个CreateReservationCommand中包含此逻辑,还是需要三个命令,然后以哪种模式编排命令执行?命令可以完全具有执行状态吗?

您可以...但是,通常情况下,业务流程簿记使用的是process manager pattern之类的东西,它将跨越多个事务。

  

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

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