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属性来填充构造函数参数。