Java的依赖注入(控制反转)
来源:互联网 发布:大数据预测分析 编辑:程序博客网 时间:2024/06/06 10:50
两个主角“依赖注入”和“控制反转”:
1、二都说的都是同一件事,只是叫法不同。是一个重要的面向对象编程的法则,也是一种设计模式;
2、英文原称:依赖注入,Dependency Injection(DI);
控制反转,Inversion of Control(IoC)。
3、作用:削减计算机程序的耦合问题;
4、为什么叫“控制反转”:创建被调用者的工作不再由调用者来完成,因此称为控制反转。结合Java说,当某个Java实例需要其他Java实例时,系统自动提供一个所需要的实例,无须程序显示的new一个。所以,控制反转是,关于一个对象如何获取他所依赖的对象的引用,这个责任的反转。在有控制反转之前,是由调用者负责创建他所依赖的对象;之后,由系统负责创建。
5、为什么叫“依赖注入”:纵观所有的Java应用,它们都是由一些互相协作的对象构成的。我们称这种互相协作的关系为依赖关系。假如A组件调用了B组件的方法,我们可称A组件依赖于B组件。系统创建的实例供调用者调用,也可以看作是系统将创建的实例注入调用者。
6、优点:因为把对象生成放在了XML里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象都是实现于某种接口的),只要修改XML就可以了,这样我们甚至可以实现对象的热插拨(有点象USB接口和SCSI硬盘了)。
7、缺点:1)生成一个对象的步骤变复杂了(事实上操作上还是挺简单的),对于不习惯这种方式的人,会觉得有些别扭和不直观;
(2)对象生成因为是使用反射编程,在效率上有些损耗。但相对于IoC提高的维护性和灵活性来说,这点损耗是微不足道的,除非某对象的生成对效率要求特别高;
(3)缺少IDE重构操作的支持,如果在Eclipse要对类改名,那么你还需要去XML文件里手工去改了,这似乎是所有XML方式的缺憾所在。
- Java的依赖注入(控制反转)
- Java的依赖注入(控制反转)
- Java的依赖注入(控制反转)
- Java依赖注入(控制反转)
- JAVA框架当中Spring的依赖注入和控制反转
- JAVA框架当中Spring的依赖注入和控制反转
- 依赖注入&控制反转
- 控制反转&依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- Java之控制反转和依赖注入
- 2016-6-18学习感悟
- android studio界面简单介绍
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
- Linux 应用---make及makefile的编写
- 1004 Problem D
- Java的依赖注入(控制反转)
- JS DOM(文档对象模型)与BOM(浏览器对象模型)
- scala学习七:scala的高级特性
- Python 模块之os
- web.xml 配置 contextConfigLocation
- Oracle-同义词
- 指针数组和数组指针
- linux内核启动mtdblock0 (driver?)的解决方法
- 大数据处理架构Hadoop配置