答案 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)