控制反转和依赖注入
简而言之
- 控制反转(Inversion Of Control, IOC)是一种思想, 依赖注入(Dependency Injection, DI) 是实现控制反转的一种实现方法
- 通过第三方控制依赖,具体体现为通过构造函数,属性或者工厂方法,将对象注入进去
- 上下层通过控制反转,将依赖的初始化提升了一层;如果原本不止两层,可以通过相同的方式将依赖的初始化提升到最高层,然后从最高层进行初始化
概念
依赖注入
控制反转
IOC 容器
随着 DI 的频繁使用,要实现 IOC,会有很多重复代码,甚至随着技术的发展,有更多新的实现方法和方案,那么有人就把这些实现 IOC 的代码打包成组件或框架,来避免人们重复造轮子。