IOC模式的学习笔记

IOC模式的目标:将组件的配置与使用分离,并且是由框架完成的.

依赖注入的形式主要有三种,我分别将它们叫做构造子注入(Constructor Injection)、设值
方法注入(Setter Injection)和接口注入(Interface Injection)。


依赖倒置原则[Martin 1996]:
  A. 上层模块不应该依赖于下层模块,它们共同依赖于一个抽象。
  B. 抽象不能依赖于具象,具象依赖于抽象。

类库与框架

类库给用户提供了一系列可复用的类,这些类的设计都符合面向对象原则和模式。用户使用时,可以创建这些类的实例,或从这些类中继承出新的派生类,然后调用类中相应的功能。在这一过程中,类库总是被动地响应用户的调用请求。
  “框架则会为某一特定目的实现一个基本的、可执行的架构。框架中已经包含了应用程序从启动到运行的主要流程,流程中那些无法预先确定的步骤留给用户来实现。程序运行时,框架系统自动调用用户实现的功能组件。这时,框架系统的行为是主动的。


应用程序和框架系统之间的依赖关系有以下特点:
  1. 应用程序和框架系统之间实际上是双向调用,双向依赖的关系。
  2. 依赖倒置原则可以减弱应用程序到框架之间的依赖关系。
  3. “控制反转”及具体的模板方法模式可以消解框架到应用程序之间的依赖关系,这也是所有框架系统的基础。
  4. 框架系统可以独立重用。


依赖注入的核心思想是:
  1. 抽象接口隔离了使用者和实现之间的依赖关系,但创建具体实现类的实例对象仍会造成对于具体实现的依赖。
  2. 采用依赖注入可以消除这种创建依赖性。使用依赖注入后,某些类完全是基于抽象接口编写而成的,这可以最大限度地适应需求的变化

posted @ 2006-01-11 09:49  雨人(ralpher)  阅读(295)  评论(0编辑  收藏  举报