依赖注入-概念


1.概念

依赖注入(DI)是实现控制反转(IOC)的一种方式。它能够简化模块的组装过程,降低模块之间的耦合度。 代码控制反转的目的:

var connSettings = ConfigurationManager.ConnectionStrings["connStr1"];
string connStr = connSettings.ConnectionString;
SqlConnection conn = new SqlConnection(connStr);

上述代码表示从配置文件中取出连接字符串。之后创建一个SqlConnection对象用来连接数据库。这是一种传统的拼装代码的过程,不管是获取字符串或是连接数据库,都需要程序员自己清楚的知道代码的意思,明白构造函数需要传什么参数,怎么传。这种方法的优点在于:程序员能够对程序进行更加精细化的控制;缺点也显而易见:需要程序员对每段代码的意思都非常清楚,比如连接字符串来自哪里,需要创建什么对象等。 如果使用控制反转这种思路,这个问题就从:怎样创建XX对象变成了我需要XX对象。这里有两种实现方法:

  1. 服务定位器(ServiceLocator);
  2. 依赖注入(Dependency Injection,DI);

本文章使用limfx的vscode插件快速发布