我们正在开发一些服务,PersonService
比如说InsuranceService
和PaycheckService
。要通过 API 访问这些服务,有一个控制器。
在某些情况下,PaycheckService
需要有关 a的信息Person
。目前我们正在使用一个介于Controller
和之间的层Service
:
- 从 PersonService 获取信息
- 从 PaycheckService 获取信息
- 合并并返回结果。
目前正在工作,但随着更多服务的创建,服务之间的依赖性增加。这会在这个“层间”中产生更多的逻辑(魔术?) 。
我一直在阅读 Fowler 关于依赖注入和服务定位器的主题,这可能很有用。(我们在这里和那里使用 Unity 来实现 IoC 和 DI 以实现共享功能)
问题是让服务消费其他服务的好策略是什么?
(消息传递、注入、REST、..)