Java的依赖注入(控制反转)
来源:互联网 发布:mysql gbk utf8 区别 编辑:程序博客网 时间:2024/05/29 06:43
两个主角“依赖注入”和“控制反转”:
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之控制反转和依赖注入
- 网站高并发大流量访问的处理及解决方法
- 漫谈 Clustering 系列
- CF830C:Bamboo Partition(数学)
- Best Time to Buy and Sell Stock1/2/3/4
- java多线程之并行框架ForkJoin
- Java的依赖注入(控制反转)
- Failed to resolve:com.android.support:percent:26.0.0
- 获取Spring的上下文环境ApplicationContext的方式
- 第十天学习java关于string和stringbuffer的使用
- 获取斗鱼图片
- AIX 操作系统中AIO、DIO、CIO 的相关概念介绍 (二)
- iptables详解
- Big Data (1)
- spring和redis集成