美文网首页
4.代理模式

4.代理模式

作者: celusing | 来源:发表于2020-11-25 00:25 被阅读0次

    https://www.cnblogs.com/lang5230/p/5322668.html

    1.代理模式

    深度截图_选择区域_20201120153536.png
    1. 角色:
    • Subject:抽象主题,定义业务类型的接口
    • RealSubject:具体实现类。也被称为:委托角色或者代理角色。业务逻辑的具体执行者。
    • Proxy:代理类。
    1. 实现
    class Subject
    
    {
    
    public:
    
      virtual ~Subject()=0;
    
      virtual void Request()=0;//具体代理的任务
    
    protected:
    
      Subject();
    
    };
    
    class ConcreteSubject:public Subject
    
    {
    
    public:
    
      ConcreteSubject();
    
      ~ConcreteSubject();
    
      void Request();
    
    };
    
    class Proxy:public Subject
    
    {
    
    public:
    
      Proxy();
    
      Proxy(Subject* _sub);
    
      void Request()//实现对委托者的委托任务执行与补偿
    
      {
    
        bef();
    
        this->_sub->Request();
    
        end();
    
      }
    
      void bef()
    
      {}
    
      void end()
    
      {}
    
      ~Proxy();
    
    private:
    
      Subject* _sub;
    
    };
    

    2.动态代理

    定义:实现阶段不用关系代理谁,而是在运行阶段指定代理哪一个对象。AOP核心:动态代理。


    深度截图_选择区域_20201120154200.png

    相关文章

      网友评论

          本文标题:4.代理模式

          本文链接:https://www.haomeiwen.com/subject/hbrdiktx.html