首页 > 其他 > 详细

适配器模式

时间:2014-09-01 18:00:43      阅读:196      评论:0      收藏:0      [点我收藏+]

适配器模式:

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

适用场景:

复用现有的类,但接口却不相同。


#include <iostream>

using namespace std;

class Target {
  public:
    virtual void Request() {}
};

class Adaptee {
  public:
    void SourceRequest() {
      cout<< "SourceRequest" << endl;
    }
};

class Adapter : public Adaptee, public Target {
  public:
    void Request() {
      this->SourceRequest();
    }
};



class AdapterI : public Target {
  public:
    AdapterI() {
      adapter_ = new Adaptee();
    }
    virtual ~AdapterI() {
      if (adapter_) {
        delete adapter_;
      }
      adapter_ = NULL;
    }
  private:
    Adaptee* adapter_;
  public:
    void Request() {
      adapter_->SourceRequest();
    }
};
#include "main.h"

int main(int argc, char* argv[]) {
  Target* t = new Adapter();
  t->Request(); 
  Target* t2 = new AdapterI();
  t2->Request(); 
}

适配器模式

原文:http://my.oschina.net/hejiula/blog/308770

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!