当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++进阶与实例

设计模式的解析和实现(C++)之六-Adapt模式

    作用:

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

    UML示意图

    1)采用继承原有接口类的方式

    2)采用组合原有接口类的方式

    解析:

    Adapt模式其实就是把完成同样的一个功能但是接口不能兼容的类桥接在一起使之可以在一起工作,这个模式使得复用旧的接口成为可能。

    实现:

    Adapt模式有两种实现办法,一种是采用继承原有接口类的方法,一种是采用组合原有接口类的方法,这里采用的是第二种实现方法。

    1)Adapt.h

 /**//********************************************************************
    created:    2006/07/20
    filename:     Adapter.h
    author:        李创
                http://www.cppblog.com/converse/

    purpose:    Adapter模式的演示代码
*********************************************************************/

#ifndef ADAPTER_H
#define ADAPTER_H

// 需要被Adapt的类
class Target
{
public:
    Target(){}
    virtual ~Target() {}

    virtual void Request() = 0;
};

// 与被Adapt对象提供不兼容接口的类
class Adaptee
{
public:
    Adaptee(){}
    ~Adaptee(){}
    void SpecialRequest();
};

// 进行Adapt的类,采用聚合原有接口类的方式
class Adapter
    : public Target
{
public:
    Adapter(Adaptee* pAdaptee);
    virtual ~Adapter();

    virtual void Request();

private:
    Adaptee* m_pAdptee;
};

#endif

 

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接