最佳实践:服务调用其他服务还是直接调用存储库?

Best practices: services calling to other services or directly the repositories?

假设我有实体 A 和 B。对于每个实体,我都有 serviceX 和 repositoryX。如果从 serviceA,我需要 B 的东西:我不应该调用 serviceB 吗?还是我应该直接调用 repositoryB?

提前致谢。

据我了解,在案例 A 和案例 B 中,您有两层:业务逻辑(服务)和数据访问(存储库)。 最佳实践是将 A 和 B 视为通过接口进行通信的独立组件。 A 的数据访问对于组件 A 应该是私有的。因此,如果组件 B 需要来自组件 A 的一些数据,它应该使用其 public 接口而不是其数据访问层询问组件 A。