返回列表 发帖

设计模式-适配器模式(Adapter)

适配器模式

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

以下情况使用Adapter模式

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

参与者

•Target
—定义Client使用的与特定领域相关的接口。
•Client
—与符合Target接口的对象协同。
•Adaptee
—定义一个已经存在的接口,这个接口需要适配。
•Adapter
—对Adaptee的接口与Target接口进行适配

效果

类适配器和对象适配器有不同的权衡。

类适配器

• 用一个具体的Adapter类对Adaptee和Target进行匹配。结果是当我们想要匹配一个类以
  及所有它的子类时,类Adapter将不能胜任工作。
• 使得Adapter可以重定义Adaptee的部分行为,因为Adapter是Adaptee的一个子类。
• 仅仅引入了一个对象,并不需要额外的指针以间接得到adaptee。

对象适配器

• 则允许一个Adapter与多个Adaptee—即Adaptee本身以及它的所有子类(如果有子类的话)—同时工作。Adapter也可以一次给所有的Adaptee添加功能。
•使得重定义Adaptee的行为比较困难。这就需要生成Adaptee的子类并且使得Adapter引用
这个子类而不是引用Adaptee本身。

来自<<设计模式>>

[ 本帖最后由 杨恩雄 于 2008-8-2 00:53 编辑 ]

Adapter.rar (3.25 KB)

恩雄同学的努力值得大家赞扬啊。
生命没有假期!
如果生命只剩下最后一秒,你可会想到我?

TOP

没什么了, 如果有错误, 还望大家指出

TOP

写完几个了?
等你写完了,我来做成CHM文档(注明版权属于疯狂Java总版主杨恩雄),
将其放入我书中的光盘中,使之更广泛流传,
这样可以造福更多人。
生命没有假期!
如果生命只剩下最后一秒,你可会想到我?

TOP

总共是二十三个吧, 我写了八个, 传了五个上来, 以后一天一个, 还要写半个月呢

TOP

不要怕,现在奥运会。
所有书的出版都要延期,

你慢慢写,努力写好。
写完了我来整理。
生命没有假期!
如果生命只剩下最后一秒,你可会想到我?

TOP

都是很简单易懂的例子,  旨在传递那种思想, 希望大家能体会到了

TOP

在TDD开发过程中, 配合重构手法的使用和设计模式的使用, 写出来的代码的质量都是非常好的, 可重用性也很高

TOP

不好意思, 前几天发的Adapter模式写错了一点, 现在已经修正了

TOP

回帖是一种没得   回帖就是爱国   

TOP

返回列表