在C#中实现依赖注入的不同方法有哪些?

将耦合(依赖)对象注入(转换)为解耦(独立)对象的过程称为“依赖注入”。

依赖注入的类型

DI有四种类型:

1,构造函数注入

2.固定注入

3,基于接口的注入

4,服务定位器注入

构造函数注入

构造函数用于接口通过参数化承包商公开的参数。

当对象创建其他类时,它通过承包商方法注入依赖项。

二传手注入

Getter和Setter注入通过使用默认的公共属性过程(如Gettter(get(){})和Setter(set(){}))来注入依赖项。Ť

接口注入

Interface Injection与Getter and Setter DI类似,该Getter and Setter DI使用默认的getter和setter,但Interface Injection使用支持接口的一种显式getter和setter来设置接口属性。

服务定位器注入

服务定位器注入也称为依赖吸收。用于替换新的运算符。它通过直接调用方法(无需创建对象)来隐藏类依赖关系。

DI的优势

减少类耦合

提高代码可重用性

提高代码可维护性

改善应用程序测试

集中配置

依赖注入的缺点

依赖项注入的主要缺点是,如果需要解决的实例过多且依赖项过多,则将多个实例一起使用会变得非常困难。