首页 > php框架 > Laravel > IoC (控制反转)是什么?两张图让你搞清!

IoC (控制反转)是什么?两张图让你搞清!

藏色散人
发布: 2021-11-17 14:22:59
转载
1803 人浏览过

简单理解依赖注入(DI,Dependency injection)

依赖注入通过构造注入,函数调用或者属性的设置来提供组件的依赖关系。就是这么简单。

简单理解控制反转(IOC,(Inversion of Control)

file

一开始我们代码依赖关系可能是如图这样的,这里只举例了3个对象和三个类的交叉依赖,我们代码的依赖关系实际情况其实要复杂得多,脑补十多个对象的交叉,甚至还有横向交叉。

现在问题来了,由于不可抗拒的原因,PHP版本升级,需求更改等等,要把α对象替换掉,把β对象删掉,请问我们要改多少处代码??

是时候拿出IOC了。

file

瞬间清爽。

IOC容器在全局维持一个对象实例集合和类名集合,我们在写某个类的时候把这个类依赖的对象注册到容器里,调用这个类的时候再实例化拿出来。

这个就是IOC的思想,一个系统通过组织控制和对象的完全分离来实现”控制反转”。对于依赖注入,这就意味着通过在系统的其他地方控制和实例化依赖对象,从而实现了解耦。

相关推荐:最新的五个Laravel视频教程

以上是IoC (控制反转)是什么?两张图让你搞清!的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:learnku.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板