php - 如何理解IoC(Inversion of Control)?
伊谢尔伦
伊谢尔伦 2017-04-10 15:11:10
0
17
1034

RT,如何理解IoC(Inversion of Control)?如果能写个demo解释最好了。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

reply all(17)
大家讲道理

IoC,控制反转,把对XX的控制交给别人。
spring的DI就是你把new对象的工作交给spring。

大家讲道理

参考Spring Ioc容器
推荐阅读的文章
Inversion of Control Containers and the Dependency Injection pattern
InversionOfControl
自己动手写一个IoC工具

Ty80

ioc 通俗一点的说,你把他想成一个大工厂,你问他要什么object,他就给你什么object,就是这么简单
他就像一个全局变量,在每个object里面的都可以访问到
你问他要什么object,他就给你什么object

Peter_Zhu

ioc主要作用是用来解析类的实例,为什么要解析?而不是直接获得?因为类有其他类的依赖关系。ioc容器可以把多层级的依赖关系全部解析出来。

如果你看的是Laravel框架,可以看看:Service Container(IOC容器)

刘奇

依赖注入和控制反转都是为了达到相同的解耦效果,Ioc确实不够开门见山,因此业界称进行了广泛的讨论,最终软件界的泰斗级人物Martin Fowler提出了DI的概念用以替代Ioc,即让调用类对某一接口实现类的依赖关系都第三方(容器或协作类)注入,以移除调用类对某一接口实现类的依赖。

左手右手慢动作

依赖注入是控制反转的一种实现方式。

巴扎黑

IOC可以通俗理解:

比如我要去ATM取款,我有一堆银行卡:农行、建行

IOC处理的就是通过ATM的接口(当然也包括系统)去约束卡

比如,卡的大小要求,卡要有磁条,然后得有余额;这些元素都是取款的必备条件。ATM就约束了卡。

IOC的精髓就是:取款操作一致,而卡却不一样。而能使用的卡则依靠中间者(ATM机)去约束

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template