【发布时间】:2019-03-24 07:36:36
【问题描述】:
我有 2 个域,域 A 和域 B。每个域在 spring boot 项目中都有自己的控制器、服务和存储库层。让服务 A 调用存储库 B 的数据会不会出错?这会破坏任何形式的 DDD 或微服务架构吗?
【问题讨论】:
标签: spring-boot domain-driven-design microservices
我有 2 个域,域 A 和域 B。每个域在 spring boot 项目中都有自己的控制器、服务和存储库层。让服务 A 调用存储库 B 的数据会不会出错?这会破坏任何形式的 DDD 或微服务架构吗?
【问题讨论】:
标签: spring-boot domain-driven-design microservices
当控制器绕过服务时,这个组织通常被称为宽松的分层架构,因为允许层跳过它们相邻的邻居:
根据Clean Architecture,第34章:
绕过业务逻辑层是不可取的,尤其是在这样的情况下 业务逻辑负责确保授权访问 个人记录,例如
和
Web 控制器不应直接访问存储库
因此,在您的情况下,Service A 应该无法直接调用Repository B 的数据。所有通信都应通过Controller B 完成。
【讨论】: