我正在谈论分布式域驱动设计背后的一些概念,我正在构建一个概念证明。我有三个C#解决方案,在整个系统中负有特定的责任。
我的解决方案是:
所有三种解决方案都通过服务总线使用消息传递(命令,事件)。 (在我的情况下是MassTransit)。
我的主要问题是:通常的做法是使用消息创建程序集并让每个解决方案引用该程序集?
额外信用:在这个POC中,我有什么看似奇怪或有问题的吗?在创建这种类型的系统时我应该注意的任何其他信息?
答案 0 :(得分:4)
通常的做法是使用消息创建一个程序集 每个解决方案引用该程序集?
是。这通常是消息传递系统的常见做法。例如,许多NServiceBus样本采用这种方法。将此程序集视为代表您的合同。在基于不同平台构建的系统中,此表示形式将以XSD架构或其他一些架构定义机制的形式出现。
我在做什么这看起来很奇怪或有问题 POC?创建此类型时我应该注意的任何其他信息 一个系统?
到目前为止,一切似乎都适合CQRS。公平地说,我应该提一下,将CQRS作为一个银弹及其周围的结构系统很容易被带走。将CQRS放在一起通常是明智的决定。继续关注业务领域,并使用CQRS作为实现系统的架构风格,而不是指导其模型。