IOC容器和依赖反转模式

1.如果合作对象的引用和依赖对象管理由具体对象来完成,会导致代码的高度耦合和可测试性的的降低,这对复杂的面向对象系统是非常不利的。在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常常体现在对数据和依赖上。这些依赖关系可以通过把对象的依赖注入交给框架或IOC容器来完成,这种从具体对象手中交出控制的做法是非常有价值的,它可以在解耦代码的同时代码的可测试性。

2.依赖控制反转的实现有很多种方式。在Spring中,IOC容器是实现这个模式的载体,它可以在对象生成或初始化时直接将数据注入到对象中,也可以通过将对象对象引用注入到对象数据域中的方式来注入对方法调用的依赖。这种依赖注入是可以递归的,对象被逐层注入。就此而言,这种方案有一种完整而简洁的美感。它把对象的依赖关系有序的建立起来,简化依赖关系的管理,在很大程度上简化了面向对象系统的复杂性。

3.关于如何反转对依赖的控制,把控制权从具体对象手中转交到平台或框架中,是降低面向对象系统设计的复杂性和提高面向对象系统可测试性的有效的解决方案。它促进了IoC设计模式的发展。是IoC容易要解决的核心问题。

注意:应用控制反转后,当对象被创建时,由一个调控系统内的所有对象的外界实体将其所依赖的对象的引用传递给它。即依赖被注入到对象中。所以控制反转是关于一个对象如何获取它所依赖的对象的引用,在这里,反转指的是责任的反转。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值