.Net中的dependency injection?

可能重复:
帮助.NET中的dependency injection

嗨朋友们,

我在一些网站上看到dependency injection已经有几天了!
你能说:

它是什么 ?
使用它有什么好处?

非常感谢。

dependency injection是一个非常简单的概念(另一方面,实现可能非常复杂)。

dependency injection只是允许方法的调用者在调用方法时将依赖对象注入方法。 例如,如果您希望允许以下代码交换SQL提供程序而不重新编译该方法:

public void DoSomething() { using(SQLConnection conn = new SQLConnection()) { // Do some work. } } 

您可以’注入’SQL提供程序:

 public void DoSomething(ISQLProvider provider) { // Do the work with provider } 

还有构造函数注入 ,您可以在实例化期间注入对象的依赖项。

 public class SomeObject { private ISQLProvider _provider; public SomeObject(ISQLProvider provider) { _provider = provider; } } 

dependency injection的重点是减少应用程序各部分之间的耦合。 调用者可以替换完成任务所需的任何内容,而无需修改它调用的方法(或者它正在创建的对象)。

有用的链接:)

维基百科上的dependency injection

Msdn的dependency injection

关于dependency injection的简单教程