依赖倒置原则(DIP):一种软件架构设计的原则
高层模块不应该依赖于低层模块,两者应该依赖于抽象。抽象不应该依赖于实现,实现应该依赖于抽象。
控制反转(IOC):是设计模式,一种反转流,依赖和接口的方式(DIP的具体实现方式)。IOC有两种实现方式:依赖注入和服务定位。
依赖注入(Di):IoC的实现方式,用来反转依赖
IoC容器:依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架)
附注:
软件设计原则:仅告诉对错。
软件设计模式:可重用的解决方案。
依赖注入:将需要依赖(低层模块)对象的引用传递给被依赖(高层模块)对象。
1,通过构造函数注入:参数接收一个依赖对象
2,属性注入:通过属性传递依赖。
IOC容器:代码中我们都是手动方式创建依赖对象,并将引用传递给被依赖模块。
对于大型项目来说,相互依赖的组件比较多。如果手动,出错概率大。Ioc容器就是DI框架,它包含以下几个功能:
动态创建,注入依赖对象
管理对象生命周期
映射依赖关系