【2013.1.24】设计形式C++ 实现——Adapter
【2013.1.24】设计模式C++ 实现——Adapter
// // // // // // // // //
///2013.1.24
// // // // // // // // //
这一个设计模式有以下三种分支:
One-way adapter;
Two-way adapter;
Pluggable adapter。
鉴于本文面向较为基础,
最后一个暂且不表。
如果有兴趣,可以上网寻找更多相关资料。
【核心】将用户的需求与一个已经存在的实体(Adaptee)所适配的一个转换器。
来看一下UML图:
一个很简单的例子,
就是插座的接口了。
有些电器为二眼插头接口,
但很不巧,
家里的插座只能插三眼插头,
怎么办呢?(不要说换插座)
这时候就需要一个二转三插头转换器了(自定义名称,转载请注明出处^_^),如下图所示:
能够将用户的需求(用三眼插座充电)与已有的实体(二眼插头)进行匹配,
从而满足用户需求。
这是一个很简单的设计模式,
但是它的使用面是相当的广。
因为它自身的特点:
在不改变已存在的实体(Adaptee类)的情况下,
对用户需求进行匹配。
因此即使使用者不知道原有类的内部结构,
也可以根据不同的需求对其进行相应转化。
而Two-way Adapter则更进一步,
对双方进行转换。
使各自满足对方的需求。