我有两项服务:服务A和服务B.
服务A取决于服务B,因此我将服务B注入服务A。
现在我需要在我的控制器中使用服务A.我只需要在服务A中调用一个方法,而不是在服务B中。
依赖注入的最佳做法是什么?
我是否应该将服务A注入我的控制器,因为我只需要在服务A中调用一个方法而不是在服务B中调用?
或者我应该将服务A和服务B注入我的控制器,因为我需要明确并宣传我的控制器的所有依赖项?
答案 0 :(得分:2)
没有一个通用的解决方案。
但是,如果您正在使用依赖项解析程序(A DI容器),则应该为您需要的实例请求解析程序。然后,解析器也应解析其依赖关系。
如果没有,我倾向于同时注射A和B.