IOC容器和依赖反转模式 博客分类: java基础 IOC依赖倒转控制反转
程序员文章站
2024-02-07 13:10:34
...
1.如果合作对象的引用和依赖对象管理由具体对象来完成,会导致代码的高度耦合和可测试性的的降低,这对复杂的面向对象系统是非常不利的。在面向对象系统中,对象封装了数据和对数据的处理,对象的依赖关系常常体现在对数据和依赖上。这些依赖关系可以通过把对象的依赖注入交给框架或IOC容器来完成,这种从具体对象手中交出控制的做法是非常有价值的,它可以在解耦代码的同时代码的可测试性。
2.依赖控制反转的实现有很多种方式。在Spring中,IOC容器是实现这个模式的载体,它可以在对象生成或初始化时直接将数据注入到对象中,也可以通过将对象对象引用注入到对象数据域中的方式来注入对方法调用的依赖。这种依赖注入是可以递归的,对象被逐层注入。就此而言,这种方案有一种完整而简洁的美感。它把对象的依赖关系有序的建立起来,简化依赖关系的管理,在很大程度上简化了面向对象系统的复杂性。
3.关于如何反转对依赖的控制,把控制权从具体对象手中转交到平台或框架中,是降低面向对象系统设计的复杂性和提高面向对象系统可测试性的有效的解决方案。它促进了IoC设计模式的发展。是IoC容易要解决的核心问题。
注意:应用控制反转后,当对象被创建时,由一个调控系统内的所有对象的外界实体将其所依赖的对象的引用传递给它。即依赖被注入到对象中。所以控制反转是关于一个对象如何获取它所依赖的对象的引用,在这里,反转指的是责任的反转。
上一篇: sql server 2005用户权限设置深入分析
下一篇: [PHP]实用函数9_php技巧