.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的简单教程