domain-driven-design - 有人可以举例说明分层架构之间的向上沟通吗?
问题描述
我正在阅读领域驱动设计:解决软件核心中的复杂性这本书,在第二部分的开头,作者谈到了向上沟通以及如何实现它。但是,我不明白这意味着什么,我想知道更多关于这种向上沟通的例子。例如,当我有以下层时,从基础设施级别开始的通信:UI -> 应用程序 -> 服务 -> 域 -> 基础设施。
解决方案
不确定您指的是哪本书,但我知道的书通常更喜欢具有倒塌层或六边形的架构。
考虑以下分层(源代码依赖项):
UI -> Application/Domain <- Infrastructure
请注意依赖项如何向内指向您的应用程序“核心”。如果这让您感到困惑,这里采用的技术是“依赖倒置原则”——高级策略(应用程序/域)和低级实现(infra)的分离。
在这种情况下,安排作业或类似的调用某些应用程序服务的作业是没有问题的,因为“允许”基础设施访问您的核心提供的逻辑。
我不确定这是否是您的想法,但总的来说,以下适用于 DDD 分层:DDD 中的基础设施层为所有层中的所有基础设施相关接口提供实现,因此可以看作是有点“环绕”的外部层。
推荐阅读
- mysql - SQL 在所有日期早于 x 的条目中查找最高日期
- gitlab - gitlab MR中过时的差异是什么?
- css - 文本不在 div 中居中
- javascript - 如何从用户使用 gmail api 注册后生成的响应中获取 id_token?
- java - 带有 Java 查询和更新的免费图形数据库
- r - mathjax 在闪亮的应用程序中不起作用
- sql-server - 从 sqlalchemy 中的多列获取最大值
- android - 如何将 Object/Model 类转换为 json 并在改造 2 中发送 json/Application post 请求
- postgresql - SequelizeDatabaseError:列不存在(Postgresql)
- python - 使用 print_tensor 在 Keras 中打印整个张量