【2013.1.24】设计形式C++ 实现——Adapter

【2013.1.24】设计模式C++ 实现——Adapter

// // // // // // // // //

///2013.1.24

// // // // // // // // //

这一个设计模式有以下三种分支:

One-way adapter;

Two-way adapter;

Pluggable adapter。


鉴于本文面向较为基础,

最后一个暂且不表。


如果有兴趣,可以上网寻找更多相关资料。


【核心】将用户的需求与一个已经存在的实体(Adaptee)所适配的一个转换器。


来看一下UML图:

【2013.1.24】设计形式C++ 实现——Adapter


一个很简单的例子,

就是插座的接口了。


有些电器为二眼插头接口,

但很不巧,

家里的插座只能插三眼插头,

怎么办呢?(不要说换插座)


这时候就需要一个插头转换器了(自定义名称,转载请注明出处^_^),如下图所示

【2013.1.24】设计形式C++ 实现——Adapter


能够将用户的需求(用三眼插座充电)与已有的实体(二眼插头)进行匹配,

从而满足用户需求。


这是一个很简单的设计模式,

但是它的使用面是相当的广。

因为它自身的特点:

在不改变已存在的实体(Adaptee类)的情况下,

对用户需求进行匹配。


因此即使使用者不知道原有类的内部结构,

也可以根据不同的需求对其进行相应转化。


而Two-way Adapter则更进一步,

对双方进行转换。

使各自满足对方的需求。