您的位置:首页 > 其它

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

2013-04-05 00:18 267 查看

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

1、初始适配器模式





2、什么是适配器模式

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

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

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

3、模式结构图

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



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



4、模式代码事例

4、1涉及到的类,以及类图

Target:ISpecialSwitchable

Client:PatternRun

Adaptee:IStandardSwitchable

Adapter:SwitcherAdapter

4、2具体的代码实现

ISpecialSwitchable



IStandardSwitchable



Light



SwitcherAdapter



PatternRun



4、3事例输出结果



5、模式参与者

Target:ISpecialSwitchable

Client:PatternRun

Adaptee:IStandardSwitchable

Adapter:SwitcherAdapter

6、模式优缺点

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

B、使得A d a p t e r可以重定义A d a p t e e的部分行为,因为A d a p t e r是A 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)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。

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

欢迎转载,请注明出处“/article/5095958.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: