Spring IoC有什么好处呢?(9)

电脑杂谈  发布时间:2019-04-27 02:17:56  来源:网络整理

所以IOC的好处,就是分成三个阶段来看,离不开接口和实现的设计模式。

第一,统一第三方服务的参数和返回值,抽像出来接口。

第二,将原来方法中对接口实例化的代码剥离出来到构造函数中。

第三,通过配置文件,可以做到改变实现类,而不改变任何一个调用者的代码(IOC)。

想想,这个时候如果更换短信通道,只需要写好新的短信通道实现类,更改配置文件,就可以完成老板要的功能,不会有任何的风险(即便是有风险,也可以通过单元测试来完成,我只修改我单独独立的实现类)

老板会不给你升职加薪么?

不会,老板只会给你分配下一个任务。。

IT修真院一直在尝试着将一些问题讲的简单透彻,并给出思考的角度。

最近这小半年已经贡献了不少这种答案,先从基础的一些概念入手,慢慢再引入相对高级的知识。

更是希望将一些好的思维方式,和坏的学习习惯总结出来。

很都在问我零基础怎么学习,其实学习的关键点,并不是只在于自己是否是零基础,更重要的是,你是否有一个高效的学习方法?

如果你喜欢听这样的分析,喜欢尝试这种学习方法。

欢迎关注~

虽然我是暗灭大人的小分身,可是很少用这个账号怼人的呦~

App 内查看​

回答有点跑题了,我回答的是为什么重要

好处主要是解耦,然后让大家养成面向接口编程的习惯(但很多时候也不是注入接口的了)。

简单理解你就是一个富二代,你要什么不需要自己操心,开口就行,你的富爸爸(ioc容器)都给你包办了!爽不爽?

再具体一点,你对老爸说,我要一辆车,车就是接口Car,你老爸给了你一辆B字头的车,可能是比亚迪,也可能奔驰,比亚迪和背驰就是接口Car的具体实现,而你不需要知道具体是什么车,只需要知道是车就可以了。

------------------------以下为原答案----------------

这点我有体会,说说自己的感受,刚刚开始学ioc的时候,首先觉得简单,代码简单,用起来也简单,但是最大的疑惑是为什么我明明一行代码就可以完成的,现在要这么麻烦来实现?还有一堆配置文件?

后面看了很多资料,加上自己的理解,我觉得ioc第一个好处是解耦,让大家养成面向接口编程的习惯。但这不是最重要的,最重要的控制了对象的创建,这才是最重要的地方!你想想,我们就是面向对象编程,什么最重要,对象啊!ioc控制了对象的生老病死,就等于控制了一切!

有了ioc,才有其他,如AOP,就是在给你对象的时候,加了其他功能,就好比给了你一个听命于他的啊!没有ioc这些都无从说起!

App 内查看​

废话1:有的朋友可能把依赖倒置(DIP)和依赖注入(DI)弄混了。

《敏捷软件开发》第11章:

依赖倒置原则

a.高层模块不应该依赖于底层模块,二者都应该依赖于抽象。

b.抽象不应该依赖于细节,细节应该依赖于抽象。

可见,依赖倒置的本质是依赖抽象,这与依赖注入的本质依赖容器,是两回事。

换句话说,如果Java没有接口、多态,依赖倒置就无从谈起。

而依赖注入依然可以存在,只要有一个注册表(《企业应用架构模式》第18章第5节)定义bean,利用反射来实例化并装配bean,有个容器容纳它们即可。

废话2:还有的朋友可能把控制反转(IoC)和依赖注入(DI)混为一谈了。

五脏里肝主目是什么意思心主什么_spring的ioc和aop思想_spring ioc是什么意思

《EXPERT ONE ON ONE J2EE DEVELOPMENT WITHOUT EJB》第6章:

IoC主要的实现方式有两种:依赖查找,依赖注入。spring ioc是什么意思(128页)

依赖注入是一种更可取的方式。(130页)

Inversion of Control Containers and the Dependency Injection pattern


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-94388-9.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 张仲素
      张仲素

      无论是民间还是当官的都滋长了一种戾气

    • 姜晞
      姜晞

      我之前买过花茶

      • 黄超亮
        黄超亮

        倒是身边守着世界最大的市场

    热点图片
    拼命载入中...