.Net中的依赖注入?

时间:2010-01-25 14:08:58

标签: c# .net dependency-injection

  

可能重复:
  Help with Dependency Injection in .NET

嗨朋友们,

我在一些网站上看到依赖注入已经有几天了!
你能说:

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

非常感谢。

2 个答案:

答案 0 :(得分:5)

依赖注入是一个非常简单的概念(另一方面,实现可能非常复杂)。

依赖注入只是允许方法的调用者在调用方法时将依赖对象注入方法。例如,如果您希望允许以下代码交换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;
    }
}

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

答案 1 :(得分:1)