c# - 域驱动设计 (DDD),我的域可以引用 RabbitMQ 或任何其他 nuget 包吗?

标签 c# rabbitmq nuget domain-driven-design nuget-package

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

最佳答案

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

一个好的开始是 Onion ArchitectureHexagonal Architecture

同时检查这个 DDD Decoded发布(值得一看完整的 DDD 解码系列)以查看有关如何使用应用程序层协调业务与所有其他事物的实现。

关于c# - 域驱动设计 (DDD),我的域可以引用 RabbitMQ 或任何其他 nuget 包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53181299/

相关文章:

c# 我如何从我的类(class)访问我的表单控件?

rabbitmq - RabbitMQ客户端是否必须请求心跳超时,或者服务器默认为60?

rabbitmq - 服务器空间不足时 basicPublish 超时

java - 如何从 Java 等非 python 语言调用 celery 任务延迟函数?

visual-studio-2012 - 在 VS2012 中添加 NuGet 包作为项目引用的最佳方法?

linux - 如何为 nupkg 编写 pash 脚本?

c# - 在我的浅水实现中出现奇怪的振荡波纹

c# - 如何使用 CaSTLe Windsor 通过 WPF 应用程序实现正确的 Di

teamcity - 如何防止 team city 清理 nuget 工件

c# - 插入时如何从表中获取自动生成的 ID?