服务矩阵解决方案结构:为什么命令不放在合同命名空间中?



我正在学习NServiceBus ServiceMatrix教程,并试图理解:

  • 所有定义的事件都将放在合同项目中。
  • 所有命令都将放在内部项目中。

我不是在追踪这里的直觉。为什么命令被视为内部概念?它们不是其他组件需要了解的公共合同的一部分吗?为什么不在同一个"合约"项目中定义所有命令和事件?

Corey,

理由是命令应仅在属于同一逻辑服务的组件之间发送,而不是在服务之间发送。事件可以在逻辑服务之间传输。

最新更新