设计模式(接口隔离)——适配器模式

来源:互联网 发布:西部证券软件下载 编辑:程序博客网 时间:2024/05/16 16:21

适配器模式:将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。适配器让原本接口不兼容的类可以合作无间。

场景还原(电源适配器):

买笔记本电脑,买手机时,都有一个电源适配器,电源适配器又叫外置电源,是小型便携式电子设备及电子电器的供电电压变换设备,常见于手机,笔记本电脑上。它的作用是将家里的220V高电压转换成这些电子产品能工作的5V~20V左右稳定的低电压,使它们能正常工作。就是说,如果没有这个电源适配器,我们的手机和电脑就不能进行充电了。

之前同事去日本出差,由于工作需要,就将自己的笔记本带过去了。到了的当晚就悲剧了,笔记本无法使用。由于日本的居民用电电压是110V,而中国是220V,同事的笔记本是220V供电的。第二天,同事就去买了一个电压适配器。如果没有电压适配器,估计这次出差都要悲剧了。

UML类图阐述:

1)类适配器

适配器Aadapter继承自Target类和Adaptee类,Adapter类需要重写Target类的Request函数,在Request中做适当的处理,调用Adaptee类的SepcificRequest。最终,Target实际调用的是Adaptee的SpecificRequest来完成Request的,完成适配。


这里写图片描述

2)对象适配器

适配器Adapter类继承自Target类,同时,在Adapter类中有一个Adaptee类型的成员变量;Adapter类重写Request函数时,在Request中,使用Adaptee类型的成员变量调用Adaptee的SpecificRequest函数,最终完成适配。


这里写图片描述

模式结构:

  • Target:目标抽象类
  • Adapter:适配器类
  • Adaptee:适配者类
  • Client:客户类

更多C++示例代码,请移步到本人的github。


设计模式,祝愿你把代码写成艺术。

6/22/2017 11:06:05 AM

原创粉丝点击