首页 > 解决方案 > 域驱动设计 (DDD),我的域可以引用 RabbitMQ 或任何其他 nuget 包吗?

问题描述

我是 DDD 的新手,我提出了一个关于我最近所做的实现的问题。我的 DDD 项目的用户层向应用程序层请求 IModel 类型的对象以连接到 RabbitMq Brooker。然后应用程序层向域层服务请求一个 IModel,最终将该任务委托给 Infra Layer(通过接口实现)。它工作得很好,但问题是:领域层了解另一个项目是否违反了 DDD 原则?即使它是一个 Nuget 包项目。

标签: c#rabbitmqnugetdomain-driven-designnuget-package

解决方案


是的。领域层应该是您架构的核心,它只关心领域规则和不变量。所有的协调和管道都应该进入应用层。

一个好的开始是洋葱架构六边形架构

还可以查看这篇DDD Decoded帖子(值得一看完整的 DDD Decodes 系列),了解如何使用应用层来协调业务与所有其他事物的实现。


推荐阅读