适配器模式举例

来源:互联网 发布:软件咨询服务 单位 编辑:程序博客网 时间:2024/05/18 02:05

转自:http://blog.csdn.net/harderxin/article/details/7401694

实例场景:我们以前的电脑上键盘的usb接口有的是圆形的,现在假如这个接口坏了,用户想要更换一个,但市场上基本上是方形usb接口,很无赖,配不上号,这时,店主告诉用户不用担心,买一个转换器就行,转换器可以兼容圆形和方形接口,问题就解决了。这个场景用到了我们所说的:适配器模式

Adapter模式的定义把一个类的接口变换成客户端所期待的另外一种接口,使得原本由于接口不兼容而不能再一起工作的那些类可以一起工作。

适配器模式分类1.类的适配器模式(采用继承实现)2.对象适配器(采用对象组合方式实现)

模式的构成以问题中例子为模型

目标抽象角色(Target):定义客户所期待要使用的接口,我们把键盘当做客户端,客户端所需要使用的usb接口是圆形的,在这里就可以抽象出来一个圆形接口的设备(并不一定是键盘)。

源角色(Adaptee):需要被适配的接口,在这里指的是方形usb接口键盘。

适配器角色(Adapter)用来把源接口转换成符合要求的目标接口的设备,在这里指的是我们的那个“转换器”。

客户端(Client)这里指的就是那个键盘

代码详解见原文。。。
原创粉丝点击