我试图理解六边形架构以及域驱动设计,但我对命令处理程序和命令总线感到困惑。这到底应该属于应用层还是领域层?
此外,我找不到任何示例类或序列图。如果有人可以提供也涉及命令总线的示例序列图,我们将不胜感激。
我认为您的命令处理程序将代表您的应用程序的 API,因此是您的应用程序“层”的一部分。这些处理程序将编排域对象和服务。
恕我直言,命令总线是不同的。我使用命令处理器模式实现了六边形架构。这本质上是一个端口,在应用层中作为 .Net 接口实现。我最初将其设计为总线,但使用了代表命令处理器和事件发布器的“端口”接口,因为这些接口更加抽象,并允许我使用不同样式的适配器,包括 NServiceBus 之类的适配器。