我是 DDD 的新手,我想出了一个关于我最近做的实现的问题。 我的 DDD 项目的用户层向应用层请求 IModel 类型的对象以连接到 RabbitMq Brooker。然后应用层向领域层服务请求 IModel,最终将任务委托(delegate)给 Infra Layer(通过接口(interface)实现)。 它工作正常,但问题是:领域层了解另一个项目是否违反 DDD 原则?尽管它是一个 Nuget 包项目。
最佳答案
是的。领域层应该是架构的核心,它只关心领域规则和不变量。所有的协调和管道都应该进入应用层。
一个好的开始是 Onion Architecture或 Hexagonal Architecture
同时检查这个 DDD Decoded发布(值得一看完整的 DDD 解码系列)以查看有关如何使用应用程序层协调业务与所有其他事物的实现。
关于c# - 域驱动设计 (DDD),我的域可以引用 RabbitMQ 或任何其他 nuget 包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53181299/