IOC(控制反转)和DI(依赖注入)

Posted 陆伟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOC(控制反转)和DI(依赖注入)相关的知识,希望对你有一定的参考价值。

IOC(控制反转):

那么IoC是如何做的呢?有点像通过婚介找女朋友,在我和女朋友之间引入了一个第三者:婚姻介绍所。婚介管理了很多男男女女的资料,我可以向婚介提出一个列表,告诉它我想找个什么样的女朋友,比如长得像李嘉欣,身材像林熙雷,唱歌像周杰伦,速度像卡洛斯,技术像齐达内之类的,然后婚介就会按照我们的要求,提供一个mm,我们只需要去和她谈恋爱、结婚就行了。简单明了,如果婚介给我们的人选不符合要求,我们就会抛出异常。整个过程不再由我自己控制,而是有婚介这样一个类似容器的机构来控制。Spring所倡导的开发方式就是如此,所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转。

 

以上是关于IOC(控制反转)和DI(依赖注入)的主要内容,如果未能解决你的问题,请参考以下文章

控制反转(IOC)/依赖注入(DI)理解

spring核心思想:IOC(控制反转)和DI(依赖注入)

PHP 依赖注入(DI) 和 控制反转(IoC)

如何理解 PHP的依赖注入(DI) 和 控制反转(IoC)

Spring-DI控制反转和IOC依赖注入

大话DI依赖注入+IOC控制反转 之 定义