美文网首页
IOC+DI整理

IOC+DI整理

作者: Reflection_Boom | 来源:发表于2020-02-16 12:58 被阅读0次

    反转了什么:将原有的【自己主动依赖另一个对象到自身】,反转成为【由第三方管理容器来主动注入另一个对象到自身】,获取另一个对象的控制权由原有的【自身】反转到了【IOC容器主动注入

    所以【控制反转】和【依赖注入】实际上是从不同角度描述一个事件,控制反转(IOC)描述【控制权的移交】,依赖注入(DI)描述【对象“依赖“ioc容器对自身“注入“另一个对象】

    转为

    由一个第三方容器来控制,将所需的对象进行分配,实现对象之间的解耦

        软件系统在没有引入IOC容器之前,如图1所示,对象A依赖于对象B,那么对象A在初始化或者运行到某一点的时候,自己必须主动去创建对象B或者使用已经创建的对象B。无论是创建还是使用对象B,控制权都在自己手上。

        软件系统在引入IOC容器之后,这种情形就完全改变了,如图3所示,由于IOC容器的加入,对象A与对象B之间失去了直接联系,所以,当对象A运行到需要对象B的时候,IOC容器会主动创建一个对象B注入到对象A需要的地方。

        通过前后的对比,我们不难看出来:对象A获得依赖对象B的过程,由主动行为变为了被动行为,控制权颠倒过来了,这就是“控制反转”这个名称的由来。

    相关文章

      网友评论

          本文标题:IOC+DI整理

          本文链接:https://www.haomeiwen.com/subject/rmupfhtx.html