zoukankan      html  css  js  c++  java
  • 代理模型

    class BooKStore
    {
    public:
        virtual void salebook()
        {
            std::cout<<"BookStore salebook"<<std::endl;
        }
    };
    
    
    class RealStore : public BooKStore
    {
    public:
        virtual void salebook()
        {
            std::cout<<"RealStore salebook"<<std::endl;
        }
    };
    
    class DangDangProxy : public BooKStore
    {
    public:
        virtual void salebook()
        {
            doubleEleven();
            realstore->salebook();
            std::cout<<"DangDangProxy salebook"<<std::endl;
        }
        void doubleEleven()
        {
            std::cout<<"doubleEleven"<<std::endl;
        }
    private:
      RealStore *realstore;
    };

    subject (抽象主题角色):真实主题与代理主题的共同接口

    RealSubject(真实主题角色):定义了代理角色所代表的真实对象

    Proxy(代理主题角色):含有对真实主题角色的引用,代理角色通常在将客户端调用传递给真实主题对象之前或者之后执行某些操作,而不是单纯返回真实的对象。

    提示:a中包含b类;a、b类实现协议类protocol

    对一个类的功能性增强的方式,1.直接修改类  2.给类A继承一个子类  3.组合的方式,增加一个成员变量

  • 相关阅读:
    c语言字符串_续
    c语言中文件的操作
    Linux基础知识
    netstat
    wireshark 过滤规则
    常用cmd命令
    优化过的redis封装类
    二十三岁,新的起点
    计划看的书目
    [转载]爱上一个给予你正能量的人
  • 原文地址:https://www.cnblogs.com/mathyk/p/9760161.html
Copyright © 2011-2022 走看看