设计模式—适配器模式

一、概念

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。——Gang of Four Adapter模式的宗旨:保留现有类所提供的服务,向客户提供接口,以满足客户的期望。

对象适配器模式

-- 在这种适配器模式中,适配器容纳一个它包裹的类的实例。在这种情况下,适配器调用被包裹对象的物理实体。

类适配器模式

-- 这种适配器模式下,适配器继承自已实现的类(一般多重继承)。

 

二、要点

  • 客户:需要调用我们的代码的对象。
  • 类适配器:当客户在接口中定义了他期望的行为时,我们就可以应用适配器模式,提供一个实现该接口的类,并且扩展已有的类,通过创建子类来实现适配。
  • 对象适配器:通过组合除了满足“用户期待接口”还降低了代码间的不良耦合。在工作中推荐使用“对象适配”。
  • 缺省适配器模式:是一种特殊的适配器模式,但这个适配器是由一个抽象类实现的,并且在抽象类中要实现目标接口中所规定的所有方法,但很多方法的实现都是“平庸”的实现,也就是说,这些方法都是空方法。而具体的子类都要继承此抽象类。

 

三、场景

你想使用一个已经存在的对象,而他的接口不符合你的需求。你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类协同工作。你想使用一些已经已经存在的子类,但是不可能对每一个都进行子类化来匹配他们的接口,对象适配器可以适配他的父类接口。

 

posted @ 2012-02-06 13:37  残夜  阅读(330)  评论(0编辑  收藏  举报