代理模式和桥接模式

1、代理模式

成都创新互联自2013年创立以来,先为方正等服务建站,方正等地企业,进行企业商务咨询服务。为方正企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

 侧重于逻辑控制!

2、具体实现

  (1)、代码如下

#include<iostream>
using namespace std;

class Subject{   //卖书的接口
    public:
        virtual void sailbook() = 0;
    private:
};

class RealBook : public Subject{  //实体店卖书
    public:
        virtual void sailbook(){
            cout<<"卖书"<<endl;
        }   
    private:
};
//a中包含b类;
//让代理类(Dangdang)包含了一个书店(RealBook),代理和书店都实现了一个协议
class Dangdang : public Subject{  //网上卖书
    public:
        virtual void sailbook(){
            RealBook *rsb = new RealBook;
            rsb->sailbook();
            discount();
        }   
    public:
        void discount(){
            cout<<"双十一打折"<<endl;
        }
    private:
        Subject *m_subject;
};

int main(void){
    Subject *s = new Dangdang;
    s->sailbook();

    delete s;

    return 0;
}

  (2)、运行结果

代理模式和桥接模式

3、桥接模式

  将抽象部分和实现部分进行分离;

  外观模式:客户要使用N个功能,N个功能又相似,就可以抽象起来;

  享元模式:有一个对象可能使用1000次,怎样避免对这些对象进行重复的创建呢?遍面对象的大量创建!

4、具体实现

  (1)、代码如下

#include<iostream>
using namespace std;

class Engine{
    public:
        virtual void InstallEngine(){
    
        }   
    private:

};

class Engine4400cc : public Engine{
    public:
        virtual void InstallEngine(){
            cout<<"我是4400 发动机 安装完毕"<<endl;
        }   
    private:
}

class Engine4500cc : public Engine{
    public:
        virtual void InstallEngine(){
            cout<<"我是4500 发动机 安装完毕"<<endl;
        }
    private:
}

class Car{
    public:
        Car(Engine *engine){
            m_engine = engine;
        }
        virtual void installEngine = 0;
    private:
        Engine *m_engine;

};

class BM5{
    public:
        BM5(){

        }
    private:
};    
int main(void){

    return 0;
}

 

5、组合模式

  想将一大堆不同的事物用同一个类进行表达;

网站栏目:代理模式和桥接模式
网站网址:https://www.cdcxhl.com/article32/gcdgsc.html

成都网站建设公司_创新互联,为您提供品牌网站制作网站排名网站设计公司网页设计公司网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

外贸网站制作