控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,能够用来减低计算机代码之间的耦合度。其中最多见的方式叫作依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。经过控制反转,对象在被建立的时候,由一个调控系统内全部对象的外界实体将其所依赖的对象的引用传递给它。也能够说,依赖被注入到对象中。--来自百度百科编程
控制反转更像是一种编程思想,主要是为了下降代码之间的耦合度,理解控制反转首先要弄清楚两点:1.什么是控制,控制了什么,谁控制了谁;2.什么是反转,哪些东西反转了。spa
IoC就比如是一家婚姻介绍所,A要去找对象只须要把要求告诉婚姻介绍所,他须要什么样的女生,好比身高168,体重100,长头发,大眼睛,身材一级棒。而婚姻介绍所就根据A的要求去寻找合适的对象而后介绍给B(查找和注入),而后A和B就开始互相了解(获取资源、数据)。设计