我有两个域,域A和域B。每个域在Spring Boot项目中都有自己的控制器,服务和存储库层。让服务A调用存储库B的数据是否是错误的?这会破坏任何形式的DDD或微服务架构吗?
答案 0 :(得分:2)
当Controller绕过Service时,此组织通常称为松弛分层体系结构,因为允许各层在其相邻邻居之间跳过:
根据Clean Architecture,第34章:
不希望绕过业务逻辑层,特别是如果 业务逻辑负责确保授权访问 单个记录,例如
和
Web控制器绝对不能直接访问存储库
因此,根据您的情况,Service A
应该无法直接调用Repository B
的数据。所有通信都应通过Controller B
完成。