IOC是什么?
在面向对象的软件设计中,底层都是由多个对象耦合组成共同实现逻辑业务的,如下图:
耦合关系不仅会出现在对象与对象之间,也会出现在软件系统的各模块之间,以及软件系统和硬件系统之间。如何降低系统之间、模块之间和对象之间的耦合度,是软件工程永远追求的目标之一
为了降低软件系统之间的耦合度,所以出现了IOC,IOC:
IOC是Inversion of Control的缩写,多数书籍翻译成"控制反转"。
IOC的原理是利用第三方来实现对象的"解耦",让对象之间的耦合度下降,并将对象之间的依赖过程反转,如下图,对象A依赖对象B的过程被IOC改变,从主动依赖变成了被动依赖: