C++设计模式——代理(Proxy)模式
- 代理模式定义
Proxy模式根据使用场景可以分为下面几类:
-
智能指针:智能指针主要通过代理一个对象的时候,会记录引用的次数,当次数为0时释放对象
-
保护代理:在对一个对象访问的时候,添加对不同权限的处理逻辑,这个也是交给代理做的
-
远程代理:为网络上的对象创建一个局部对象,所有网络通讯操作交给代理去做,让客户可以会忽略这些被代理的对象是不是远程的
-
虚拟代理:创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成
- 代理模式结构
代理模式的角色:
-
Subject:代理者与被代理者共同