微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[bigdata-095] IoC 控制反转 的本质

Java通常用来做企业级项目。代码量非常大。所以如果修改,也会很麻烦。比如说,根据面向对象的角度,假如你加了一些新功能,创建一些新类新对象,就会面临一个重新 编译和部署的过程,这是很繁琐的。


能不能不重新编译部署呢?如果不重新编译部署,就意味着java源码不可以修改。既然源码不可以修改,那么就只能改配置文件。既然只修改配置文件,那么就要有一套能从配置文件获取对象的机制。从配置文件获取了对象,对象和对象之间需要进行交互,那么就用接口来实现交互。


由此,产生的IOC机制:用java bean从xml文件创建对象; 对象和对象之间以接口进行交互,一切交互以接口进行。主动控制,是在应用程序里主动创建各种对象,比如工厂方法。那么,如果对象在xml里创建出来,xml一旦形成,就是持续静态存在除非文件不存在或者更新,因此就不存在“主动控制”了,因此从逻辑上上,这个创建过程就只能由容器决定什么时候生成对象,就形成了“被动控制”,也就是控制反转。


这样下来,就不需要修改java代码了,也不需要重新部署了,有什么新功能修改xml文件然后扔上去替换掉就行了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐