理解什么是依赖注入(控制反转)

发布于 2019-12-06 14:33:09

怎么很好的理解 依赖注入/控制反转

查看更多

浏览量
2188
猫哥
猫哥 项目组成员 2019-12-06
希望我的回答能对你有所帮助

这篇文章的结尾很好的说明了什么是依赖注入(控制反转)
#thinkphp6 依赖注入原理

需要实例化Http类 ==> 提取其构造函数发现其依赖App类 ==> 开始实例化App类(如果发现还有依赖,则一直提取下去,直到天荒地老)==> 将实例化好的依赖(App类的实例)传入Http类来实例化Http类。这个过程,起个装逼的名字就叫做「依赖注入」,起个摸不着头脑的名字,就叫做「控制反转」
为什么是控制反转呢?假如有个多成依赖的类A需要实例化,其正常流程如下
$e = new E();
$d = new D($e);
$c = new C($d);
$b = new B($c);
$a = new A($b);

这样的过程多繁琐,现在使用依赖注入,只需要 $a = new A(B $b) 就ok了,他自动会一层一层的向上将所有依赖加入进来,最终实现A类的实例化.你看这个过程是不是和正常的编写方式刚好相反,所以叫控制反转也是能理解的.

1 个回答

学习
记录

发布
问题

分享
好友

手机
浏览

扫码手机浏览