我应该将“子”依赖注入我的客户端吗?

时间:2017-06-07 14:49:51

标签: design-patterns dependency-injection

我有两项服务:服务A和服务B.

服务A取决于服务B,因此我将服务B注入服务A。

现在我需要在我的控制器中使用服务A.我只需要在服务A中调用一个方法,而不是在服务B中。

依赖注入的最佳做法是什么?

我是否应该将服务A注入我的控制器,因为我只需要在服务A中调用一个方法而不是在服务B中调用?

或者我应该将服务A和服务B注入我的控制器,因为我需要明确并宣传我的控制器的所有依赖项?

1 个答案:

答案 0 :(得分:2)

没有一个通用的解决方案。

但是,如果您正在使用依赖项解析程序(A DI容器),则应该为您需要的实例请求解析程序。然后,解析器也应解析其依赖关系。

如果没有,我倾向于同时注射A和B.