- 在极限编程中对单元测试和重构等实践的强调体现了在软件开发过程中对质量的承诺,这是软件项目成功的一个重要因素。
- 关于如何反转对依赖的控制,把控制权从具体业务对象手中转交到平台或者框架中,是降低面向对象系统设计复杂性和提高面向对象系统可测试性的一个有效的解决方案。它促进了IoC设计模式的发展,是IoC容器要解决的核心问题。同事,也是产品化的IoC容器出现的推动力。
- 控制反转是关于一个对象如何获取它所依赖的对象的引用,在这里,反转的是责任的反转。
- 简单地说,因为很多对象依赖关系的建立和维护并不需要和系统运行状态有很强的关联性,所以可以把在面向对象编程中需要执行的诸如新建对象、为对象引用赋值等操作交由容器统一完成。这样一来,这些散落在不同代码中的功能相同的部分就集中成为容器的一部分,也就是成为面向对象系统的基础设施的一部分。
- 如果对面向对象系统中的对象进行简单分类,会发现除了一部分是数据对象外,其他很大一部分是用来处理数据的。这些对象并不常发生变化,是系统中基础的部分。在很多情况下,这些对象在系统中以单件的形式起作用就可以满足应用的需求,而且它们也不常涉及数据和状态共享的问题。如果涉及数据共享方面的问题,需要在这些单件的基础上再做进一步的处理。
- 同时,这些对象之间的相互依赖关系也是比较稳定的,一般不会随着应用的运行状态的改变而改变。这些特性使这些对象非常适合由IoC容器来管理,虽然它们存在于应用系统中,但是应用系统并不承担管理这些对象的责任,而是通过依赖反转把责任交给了容器(或者说平台)。
posted @
2014-08-20 23:17
行者无疆Duffy
阅读(
181)
评论()
收藏
举报