Dependency injection 使用一个ctor应该传递多少依赖项?

Dependency injection 使用一个ctor应该传递多少依赖项?,dependency-injection,ninject,Dependency Injection,Ninject,如果我有一个依赖于类B的类A,那么类B可以传递给类A的ctor 如果类B依赖于类C,那么这是否意味着类a应该在构造时接收所有必需的依赖项呢?一般来说,依赖项注入会建议您的类应该通过构造函数中的所有依赖项 然而,以你的例子来说,在我看来,A依赖于B,B依赖于C。换句话说,A只需要在构造函数中传递B;因为B将已经使用C实例构造。换句话说,如果我们在没有DI框架的情况下编写代码: C c = new C(); B b = new B(c); A a = new A(b); 一般来说,依赖项注入

如果我有一个依赖于类B的类A,那么类B可以传递给类A的ctor


如果类B依赖于类C,那么这是否意味着类a应该在构造时接收所有必需的依赖项呢?

一般来说,依赖项注入会建议您的类应该通过构造函数中的所有依赖项

然而,以你的例子来说,在我看来,A依赖于B,B依赖于C。换句话说,A只需要在构造函数中传递B;因为B将已经使用C实例构造。换句话说,如果我们在没有DI框架的情况下编写代码:

 C c = new C();
 B b = new B(c);
 A a = new A(b);

一般来说,依赖项注入会建议您的类应该已经通过构造函数中的所有依赖项

然而,以你的例子来说,在我看来,A依赖于B,B依赖于C。换句话说,A只需要在构造函数中传递B;因为B将已经使用C实例构造。换句话说,如果我们在没有DI框架的情况下编写代码:

 C c = new C();
 B b = new B(c);
 A a = new A(b);
答案都在这里,答案都在这里