一、IOC与DI的关系
- IOC即控制反转,用来管理项目中对象的生命周期和依赖关系,DI依赖注入,用来实现IOC,IOC是思想,DI是实现,在项目中通常一起出现,像是A类调用B类的方法,IOC容器资源给予对应资源,有助于实现依赖倒置DIP
二、DI常用的注入方式(.net的DI默认的是构造函数定义)
- 构造函数注入:构造器注入就是在构造函数中借助参数将依赖的对象注入到创建的对象之中
- 属性注入:通过在组件中定义公共属性,并通过容器将依赖项直接注入到这些属性上
- 方法注入:体现依赖关系的字段或者属性可以通过方法的形式初始化
三、生命周期
- 单例:服务在第一次请求时被创建,其后的每次请求将沿用已创建服务
- 作用域:一次请求开始到请求结束 ,这次请求中获取的对象都是同一个
- 瞬时:每一次获取的对象都不是同一个