什么是DIP、IoC、DI、IoC容器
DIP:依赖倒置原则(Dependency Inverse Principle)
强调系统的“高层组件”不应当依赖于“底层组件”,并且不论是“高层组件”还是“底层组件”都应当依赖于抽象。抽象不应当依赖于实现,实现应当依赖于抽象(软件设计原则)。
IoC:控制反转(Inversion of Control)
一种反转流、依赖和接口的方式。就是将控制权“往高处/上层”转移,控制反转是实现依赖倒置的一种方法(DIP的具体实现方式)。
DI:依赖注入(Dependency Injection)
组件通过构造函数或者setter方法,将其依赖暴露给上层,上层要设法取得组件的依赖,并将其传递给组件。依赖注入是实现控制反转的一种手段(IoC的具体实现方式)。
IoC容器:
依赖注入的框架,用来映射依赖,管理对象创建和生存周期(DI框架)。
IoC的核心是解耦:
解耦的目的是:修改耦合对象时不影响另外一个对象,降低模块之间的关联。