zoukankan      html  css  js  c++  java
  • Adapter 模式

    在实际软件系统设计和开发中,会经常遇到这种问题:我们为了完成某项工作购买了一个第三方的库来加快开发。 这就带来了一个问题: 我们在应用程序中已经设计好了接口,与这个第三方提供的接口不一致,为了使得这些接口不兼容的类可以在一起工作,Adapter 模式提供了将一个类(第三方库)的接口转化为客户(购买使用者)希望的接口。

     1 //////////////Adapter.h//////////////////
     2 #pragma once 
     3 class Target
     4 {
     5 public:
     6     virtual ~Target();
     7     virtual void Request();
     8     Target();
     9 protected:
    10 private:
    11 };
    12 
    13 class Adaptee
    14 {
    15 public:
    16     Adaptee();
    17     ~Adaptee();
    18     void SpecificRequest();
    19 };
    20 
    21 class Adapter : public Target ,private Adaptee
    22 {
    23 public:
    24     Adapter();
    25     ~Adapter();
    26     void Request();
    27 protected:
    28 private:
    29 };
    //////////////Adapter.cpp////////////////////
    #include "Adapter.h"
    #include <iostream>
    using namespace std ;
    
    Target::Target()
    {
    
    }
    Target::~Target()
    {
    
    }
    void Target::Request()
    {
        cout<<"Target::Request"<<endl;
    }
    
    Adaptee::Adaptee()
    {
    
    }
    Adaptee::~Adaptee()
    {
    
    }
    void Adaptee::SpecificRequest()
    {
        cout<<"Adaptee::SpecificRequest"<<endl;
    }
    
    
    
    Adapter::Adapter()
    {
    
    }
    Adapter::~Adapter()
    {
    
    }
    void Adapter::Request()
    {
        this->SpecificRequest();
    }
     1 //////////////main.cpp//////////////////////////////
     2 #include "Adapter.h"
     3 #include <iostream>
     4 int main()
     5 {
     6     Target* t = new Adapter();
     7     t->Request();
     8     getchar();
     9     return 0 ;
    10 }
  • 相关阅读:
    pthread 信号量
    pthread 条件变量
    pthread 互斥量
    pthread 多线程基础
    [leetcode] 剑指 Offer 专题(七)
    将 .x 转为 .sdkmesh MeshConvert.exe 修改版 可直接运行
    移动端测试分类
    Charles抓包工具(破解版)
    webpack入门笔记(2)
    Git回退代码到指定版本
  • 原文地址:https://www.cnblogs.com/csxcode/p/3707955.html
Copyright © 2011-2022 走看看