简述Spring框架的Ioc

来源:互联网 发布:android ui布局优化 编辑:程序博客网 时间:2024/05/18 00:01

Ioc在没有出现之前,一个系统的源代码是通过各个类之间的联系堆积起来的,例如A类的实现需要调用B 类和C类,在系统运行的时候,JVM就自动new一个B类和C类。
一。什么是Ioc?
1).IoC是Inversion of Control的缩写,有的翻译成“控制反转”,还有翻译成为“控制反向”或者“控制倒置”。
(2).1996年,Michael Mattson在一篇有关探讨面向对象框架的文章中,首先提出了IoC 这个概念。简单来说就是把复杂系统分解成相互合作的对象,这些对象类通过封装以后,内部实现对外部是透明的,从而降低了解决问题的复杂度,而且可以灵活地被重用和扩展。IoC理论提出的观点大体是这样的:借助于“第三方”实现具有依赖关系的对象之间的解耦。
二。使用Ioc开发的好处是什么?
1)可维护性能好,便于进行单元测试,只需要保证牺牲的功能无误就可以了,不需要考虑其他的组件的正确与否。2)每个开发团队只需要关注自己的业务,无需关注其他团队的业务逻辑,因为自己的业务不需要依赖他人的,并且部门的业务可以单独的测试,这样做就提高了开发的效率和业务的专注性。3)IoC生成对象的方式转为外置方式,也就是把对象生成放在配置文件里进行定义,这样,当我们更换一个实现子类将会变得很简单,只要修改配置文件就可以了,完全具有热插拨的特性。4)可复用性好,我们可以把具有普遍性的常用组件独立出来,反复应用到项目中的其它部分,或者是其它项目,当然这也是面向对象的基本特征。显然,IoC更好地贯彻了这个原则,提高了模块的可复用性。符合接口标准的实现,都可以插接到支持此标准的模块中。
三。Ioc的工作原理是什么?
它的原理是基于面向对象的设计原则,you don’t call me,I call you ,就是你别来找我我去找你的意思。也就是说所有的组件都是被动的,所有的组件被使用的时候都是被容器调用的,将原来的代码内调用代码,转变为容器注入组件,这样就将控制权转交给了容器,这也为什么Ioc被称为控制反转。

原创粉丝点击