六边形架构——调用顺序

Hexagonal architecture - sequence of calls

我想了解六边形架构和域驱动设计,但我对命令处理程序和命令总线感到困惑?这应该属于应用层还是领域层?

我也找不到任何示例 class 或序列图。如果有人可以提供还涉及命令总线的示例序列图,我们将不胜感激。

我认为您的命令处理程序将代表您的应用程序 API,因此是您应用程序 'layer' 的一部分。这些处理程序将编排域对象和服务。

恕我直言,命令总线不同。我已经使用 Command Processor 实现了一个六边形架构。这本质上是一个端口,在应用程序层中作为 .Net 接口实现。我最初将其设计为总线,但使用 'port' 接口表示命令处理器和事件发布器,因为它们更抽象并允许我使用不同样式的适配器,包括 NServiceBus 之类的东西。