IOC理解

作者: 云鲸鱼rain | 来源:发表于2019-03-10 14:43 被阅读0次

Spring IoC有什么好处呢? - Mingqi的回答 - 知乎
https://www.zhihu.com/question/23277575/answer/169698662

Spring IoC有什么好处呢? - Eric的回答 - 知乎
https://www.zhihu.com/question/23277575/answer/24259844

都是大神啊,这回答,爆炸了。

看了大神的回答,有种茅塞顿开的感觉,模模糊糊能感觉到什么,所以还是加上自己的理解,写点东西。

IOC(Inversion of control)控制反转。
DI(Dependency Injection)依赖注入。
DIP(Dependency Inversion Principle)依赖倒置原则。
根据依赖倒置原则提出了控制反转思想,根据控制反转思想实现了依赖注入方法。

图片来源:[https://www.zhihu.com/question/23277575/answer/169698662]

大神举了汽车轮胎的例子,我也想到一个我生活中的例子。
其实就像做数学题一样:
一道数学题摆在面前,解决思路大概就两种。
1、一种是思考已知条件,推出隐藏的未知条件,接近答案,如果思路不对,回到上一步,继续走别的思路,这样做不好地方就在于:如果前面全部推断出来,最后一步拿出答案的时候思路错了,需要从头开始想。
2、第二种是从问题出发,思考答案依赖什么条件得出,所依赖的条件又是依赖什么已知信息的出来的,最终推到已知信息。然后从已知信息写到答案,拿到想要的东西。

控制反转的思想就是第二种解决数学题的方法。
那这个例子里依赖注入又是什么呢
就是具体的实现方法呀,把答案当成结论带入它所依赖的上一步条件,再把条件当成结论带入新的条件或者已知信息。

控制反转容器呢?这就作弊了,把所有已知信息都注册到容器里面,由容器管理所有信息的依赖关系。当你需要知道答案的时候,直接向容器请求就行,容器已经把具体依赖的关系隐藏了起来,它会自己在注册的内容里面查询各个条件的依赖关系,找到所要的答案。我们没有必要知道这个过程。

所以,考试时候,我们自己从答案出发,反推到已知信息,再从已知信息写到答案,这个解决过程,就是容器内部运行的过程。

相关文章

  • Spring 初步的理解

    理解IoC container 什么是IoC Container?IoC(Inversion of control...

  • Spring IOC学习笔记

    1 Spring的IOC理解 Spring IOC 思想的理解: Inversion of Control 控制反...

  • Spring核心之控制反转(IOC)

    Spring核心之控制反转(IOC) 如何理解IoC Spring Bean是什么 IoC Container管理...

  • Ioc的理解

    Ioc的理解与解释 IOC 是什么? Ioc—Inversion of Control,即“控制反转”,不是什么技...

  • 2019-03-04

    IOC的理解 ] 1.IOC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术...

  • 2018-09-27 Spring

    Spring IOC 容器 Spring IOC的理解 依赖注入(dependence injection):通过...

  • IOC理解

    Spring IoC有什么好处呢? - Mingqi的回答 - 知乎https://www.zhihu.com/q...

  • spring专题系列之IOC的理解和分析

    根据时间安排,今天主要是对spring中IOC的理解。对于IOC的理解可以从以下几个角度去分析。 什么是IOC?如...

  • Spring_IOC_04——Bean的作用域

    其他推荐:Spring_IOC_01——概念讲解Spring_IOC_02——原理解析Spring_IOC_03—...

  • Spring(2)——Spring IoC 详解

    Spring IoC 概述 IoC:Inverse of Control(控制反转) 读作“反转控制”,更好理解,...

网友评论

      本文标题:IOC理解

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