美文网首页
通灵之术-IoC

通灵之术-IoC

作者: 现实目标决心 | 来源:发表于2018-07-22 14:57 被阅读0次

今天来学习下IoC的概念,IoC是随着近年来轻量级容器的兴起而逐渐被很多人提起的一个名词,它的全称为Inversion of Control,中文通常翻译为“控制反转”,它还有一个别名叫做依赖注入(Dependency Injection)。

0x01 通灵之术-IoC

IoC让我想起火影忍者里面的通灵之术。先回忆一下火影里面的场景,漩涡鸣人可以使用通灵之术,一结手印将蛤蟆召唤出来,卡卡西也可以使用通灵之术将那个狗狗召唤出来。简单来说:

通灵之术可以将其他帮手召唤到当前的环境来,然后执行任务。

这个听起来是不是很酷。有了通灵之术之后,我们不需要在执行任务的时候,再去学习新技能或者构造一个帮手,而仅仅需要将帮手召唤出来。你可能只需要结手印,或者使用卷轴帮助你完成通灵之术的召唤。

事实上,程序员能够做的事情更多更酷。不仅可以随意召唤对象出来,还可以随意创建和毁灭对象,还可以轻松复制多个对象(丝毫不逊于鸣人的影分身)。

IoC使用了好莱坞原则“Don’t call us, we will call you.”也即是说,我在需要的时候,会把你召唤出来,在之前,你不用来找我。

再仔细想想,我们需要的根本不是具体的对象,而是一项明确的服务。例如,我家装修,需要打孔,我不需要一个打孔机或者一个会打孔的师傅,而是这个打孔的服务。
于是,我只需要打电话给打孔公司,然后让他们安排帮我打孔就可以了。我不关心谁过来,打孔机是新的还是老的,什么牌子。

所以,我在召唤的时候,通常是召唤这项服务(也就是接口,而不是具体类),我不关心具体的实现类是谁,只要你实现了这个接口,能够提供这项服务即可。

实际上,IoC做的,就是为了帮助我们避免创建对象、管理对象相关的各种繁琐事,它的反转,就反转在你不需要原来的事必躬亲,而只需要享受别人提供给你的服务即可。

使用IoC前后的差别

0x02 通灵之术的背后 -- IoC Service Provider

IoC Service Provider -- IoC服务的提供者。有了通灵之术之后,你只需要结印召唤,就可以把业务对象给召唤出来了。你不需要自己去创建,不需要知道里面的细节,你就可以安心使用服务。

如果要做到知其然,知其所以然的话,你还需要思考下,如何创建这些待召唤的对象,这些被召唤的对象保存在哪里?肯定需要有一个容器(卷轴),也就是IoC容器里面。还需要知道哪些手印对应这哪些对象,哪些对象还需要依赖其他对象的帮助......

做这些工作就需要有一个角色,也就是 IoC Service Provider。
很明显, IoC Service Provider的职责肯定是以下两个:

  • 业务对象的构建管理
  • 业务对象之间的依赖绑定。

小结:

IoC,也就是控制反转,你需要什么,让被人提供给你,而不需要自己费心去创建。

相关文章

  • 通灵之术-IoC

    今天来学习下IoC的概念,IoC是随着近年来轻量级容器的兴起而逐渐被很多人提起的一个名词,它的全称为Inversi...

  • 我的术法

    我会一种通灵之术, 可以预见未来。 我会一种通灵之术, 可以看到在远方的你。 尽管...

  • 【忍者法阵】

    十年回忆重启,等你守护木叶,《忍者法阵:通灵之术》,开!

  • 快手组件化之术——IoC自注册

    快手组件化之术——IoC自注册 道势术,以势养道,以术谋势。 —— 《道德经》 阅读本文需要对 Java 组件...

  • 通灵术

    通灵术 那是上世纪八十年代末,记得有一天,我堂哥从电影院门口经过,我问他上哪去,他说要去找朋友借钱,他打算开一个“...

  • 忍者法阵:通灵之术

    超燃还原,热血火影卡牌参上!火之意志,等你继承! 最还原的故事,最华丽的人数,最青春的热血和感动,最无法割舍的宿命...

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

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

  • 回魂梦·三更幻界

    “传说在苗疆,盛传巫蛊之术,更有通灵者,虽然不知是否真实存在,但仍有很多学者没有放弃对这些神秘传说的探索和挖掘……...

  • 源码成神之路:Spring Framework源代码解析之IOC

    在Spring Framework源代码解析之IOC容器(一)和Spring Framework源代码解析之IOC...

  • 赢了起跑线,却输了比赛

    这几个字给我记忆犹新,所以以句为名开始吧。 师父每次的分享都能踩到我的点上,好像有通灵之术。用倒序回忆下知识点——...

网友评论

      本文标题:通灵之术-IoC

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