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.组合的方式,增加一个成员变量

  • 相关阅读:
    注册审核
    静态表单验证
    多条件查询
    0623TP框架联系
    0618框架 增删改练习
    php框架 数据添加
    0616框架查询
    0614空操作方法 空控制器 跨控制器调用 命名空间
    php 0613框架基础
    php查询
  • 原文地址:https://www.cnblogs.com/mathyk/p/9760161.html
Copyright © 2011-2022 走看看