c# - 域驱动设计 (DDD),我的域可以引用 RabbitMQ 或任何其他 nuget 包吗?
问题描述
我是 DDD 的新手,我提出了一个关于我最近所做的实现的问题。我的 DDD 项目的用户层向应用程序层请求 IModel 类型的对象以连接到 RabbitMq Brooker。然后应用程序层向域层服务请求一个 IModel,最终将该任务委托给 Infra Layer(通过接口实现)。它工作得很好,但问题是:领域层了解另一个项目是否违反了 DDD 原则?即使它是一个 Nuget 包项目。
解决方案
是的。领域层应该是您架构的核心,它只关心领域规则和不变量。所有的协调和管道都应该进入应用层。
还可以查看这篇DDD Decoded帖子(值得一看完整的 DDD Decodes 系列),了解如何使用应用层来协调业务与所有其他事物的实现。
推荐阅读
- android - 如果文本不适合 TextView,如何模糊最后几行文本
- android - 我需要使用优化路线的 mapbox 开始导航,但应用程序爆炸了
- swiftui - 如果 SwiftUI ScrollView 上有 delayscontenttouches 等价物?
- excel - 通过查找比较 excel 中的 2 组 2 列
- javascript - 在 Howler.js 中,有什么方法可以获取当前播放曲目的身份吗?
- mysql - MySQL + Django / ERROR 1045 和 CommandError
- javascript - Javascript返回未定义的值
- javascript - 如何从 Flutter Web 向 JS 脚本的 html 文件(HTMLElement、iframe)参数传递?
- php - 如何限制购物车中的运输方式 - woocommerce
- javascript - react和laravel中的登录身份验证无法正常工作