如果我有A类依赖于B类,那么B类可以传入A类的ctor。
如果B类依赖于C类,这是否意味着A类应该在构造时获得所有必需的依赖?
答案 0 :(得分:4)
一般而言,依赖注入会建议您的类应该已经传递了构造函数中的所有依赖项。
然而,对于你的例子,在我看来,A依赖于B而B依赖于C.换句话说,A只需要在构造函数中传递B;因为B已经使用C实例构建。换句话说,如果我们在没有DI框架的情况下编写代码:
C c = new C();
B b = new B(c);
A a = new A(b);