【问题标题】:Dependency Injection in .Net? [duplicate].Net 中的依赖注入? [复制]
【发布时间】:2011-01-09 02:52:25
【问题描述】:

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

朋友们,

这几天我在一些网站上看到了依赖注入
请你说:

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

非常感谢。

【问题讨论】:

标签: c# .net dependency-injection


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 2010-10-19
    • 2018-03-03
    相关资源
    最近更新 更多