16_依赖注入的三种方法
依赖注入(DI)的三种常见方法
- 构造函数注入:这是最常用的注入方式,它通过类的构造函数传递依赖对象。
- 方法注入:依赖对象通过类的方法传递,而不是在构造时。
- 属性注入:依赖对象直接设置到类的属性上。这种方式不是所有DI容器都支持,但一些容器如Autofac支持。
下面是一个简单的代码示例来说明这些概念:
// 构造函数注入
public class ServiceA
{
private readonly IServiceB _serviceB;
public ServiceA(IServiceB serviceB)
{
_serviceB = serviceB;
}
}
// 方法注入
public class ServiceC
{
private IServiceD _serviceD;
public void Initialize(IServiceD serviceD)
{
_serviceD = serviceD;
}
}
// 属性注入(示例使用Autofac支持的属性注入)
public class ServiceE
{
public IServiceF ServiceF { get; set; }
}
在这些示例中:
ServiceA类通过构造函数接收IServiceB的实例。ServiceC类通过Initialize方法接收IServiceD的实例。ServiceE类有一个公开的ServiceF属性,可以被Autofac等支持属性注入的DI容器设置。

浙公网安备 33010602011771号