基于设计模式的学习之旅-----适配器模式(附源码)

      基于设计模式的学习之旅-----适配器模式

1、初始适配器模式

2什么是适配器模式

将一个类的接口转换成客户希望的另外一个接口。 A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

别名:包装器 Wr a p p e r

Adapter模式最关键的要求是:Adapter是对两个功能相近的接口间的适配

3、模式结构图

类适配器使用多重继承对一个接口与另一个接口进行匹配,如下图所示

 

对象匹配器依赖于对象组合,如下图所示

4模式代码事例

41涉及到的类,以及类图

TargetISpecialSwitchable

ClientPatternRun

AdapteeIStandardSwitchable

AdapterSwitcherAdapter

42具体的代码实现

ISpecialSwitchable

IStandardSwitchable

Light

SwitcherAdapter

PatternRun

43事例输出结果

5、模式参与者

TargetISpecialSwitchable

ClientPatternRun

AdapteeIStandardSwitchable

AdapterSwitcherAdapter

 

6、模式优缺点

A、用一个具体的A d a p t e r类对A d a p t e eTa rg e t进行匹配。

B、使得A d a p t e r可以重定义A d a p t e e的部分行为,因为A d a p t e rA d a p t e e的一个子类。

C、仅仅引入了一个对象,并不需要额外的指针以间接得到 a d a p t e e

7模式适用性

A你想使用一个已经存在的类,而它的接口不符合你的需求。

 

B 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。

 

C(仅适用于对象A d a p t e r)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

 

点击下载“文档以及源码下载

欢迎转载,请注明出处“http://www.cnblogs.com/luxiaofeng54/archive/2013/04/05/3000371.html

 

posted on 2013-04-05 00:18  陆晓峰  阅读(637)  评论(0编辑  收藏  举报

导航