这是依赖注入吗?

ITE*_*ert 5 c# dependency-injection

如果我更改以下代码,这是依赖注入吗

class Needer
{
    Needed obj;
    AnotherNeeded obj2;

    public Needer()
    {
        obj = new Neede();
        obj2 = new AnotherNeede();
    }
}
Run Code Online (Sandbox Code Playgroud)

到这个代码

class Needer
{
    Needed obj;
    AnotherNeeded obj2;

    public Needer(Needed param1, AnotherNeeded param2)
    {
        obj = param1;
        obj2 = param2;
    }
}
Run Code Online (Sandbox Code Playgroud)

Age*_*ire -1

注射不会自行发生。

相反,应该有某种工厂来生成对象并使用依赖解析器(如果可用)。

例如,MVC.NET 框架就是一种“工厂”,当它创建类的实例时,Controller它使用DependencyResolver.Current属性来填充构造函数参数。

  • 你谈论的是一个 IoC 容器,它不是依赖注入,只是一个促进者。 (3认同)