4.代理模式

2020-11-25  本文已影响0人  celusing

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

1.代理模式

深度截图_选择区域_20201120153536.png
  1. 角色:
  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
上一篇下一篇

猜你喜欢

热点阅读