加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

依赖注入概念理解

发布时间:2020-05-23 09:30:23 所属栏目:程序设计 来源:互联网
导读:对于Spring,从学校到现在算起来虽然将近使用了有两年,但对于“依赖注入”这一概念被猛然问起时,却不知做如何解释。幸运的是看到【spring框架,技术详解及使用指导.pdf】这本电子书上做的解释,感觉挺合理。这是文章中的原话 “从名字上理解,所谓依赖注入

对于Spring,从学校到现在算起来虽然将近使用了有两年,但对于“依赖注入”这一概念被猛然问起时,却不知做如何解释。幸运的是看到【spring框架,技术详解及使用指导.pdf】这本电子书上做的解释,感觉挺合理。这是文章中的原话

“从名字上理解,所谓依赖注入,即组件之间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某种依赖关系注入到组件之中。”

笔记本电脑、移动硬盘、U盘。“三中设备都有一个共同点,都支持USB接口。当我们需要将数据复制到外围存储设备时,可以根据情况,选择是保存在U盘还是USB硬盘。”

“笔记本电脑与外围存储设备通过预先指定的一个接口(USB)相连,对于笔记本而言,只是将用户指定的数据发送到USB接口,而这些数据何去何从,则由当前接入的USB设备决定。在USB设备加载之前,笔记本不可能预料用户将在USB接口上接入何种设备,只有USB设备接入之后,这种设备之间的依赖关系才开始形成。”

“对应上面关于依赖注入机制的描述,在运行时(系统开机,USB设备加载)由容器(运行在笔记本中的Windows操作系统)将依赖关系(笔记本依赖USB设备进行数据存取)注入到组件中(Windows文件访问组件)”

就如上面所说的那样,假使我们需要把移动硬盘(组件A)中的数据存放到U盘(组件B)中,我们会把移动硬盘(组件A)中的数据放入笔记本(容器),然后从笔记本(容器)中取数据,移动到U盘(组件B)中。这种依赖于容器来实现数据的存取的做法,我想就是依赖注入的浅层解释吧。

IoC还有另一个称呼,即Hollywood原则(“Don't call me,I'll call you”,即,请不要调用我,我将调用你)。通常,应用代码需要告知容器或框架,让它们找到自身所需要的类,然后再由应用代码创建待使用的对象实例。因此,应用代码在使用实例之前,需要创建对象实例。然而,IoC将创建对象实例的任务交给IoC容器或者框架(实现IoC设计模式的框架,有时候也称为IoC容器),使得应用代码只需要直接使用实例,这就是IoC.

通过使用IoC能够降低组件之间的耦合度,最终,能够提高类的重用性,更利于测试,而且整个产品或系统更利于集成和配置。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读