C++编程思想(卷二):设计模式:代理模式
2009-12-10 15:34
288 查看
代理模式:
代理模式的一般用途:
远程代理:为不同地址空间的对象提供代理
虚拟代理:根据需要提供一种“惰性初始化”方式来创建高代价的对象
保护代理:当不愿意客户程序员拥有被代理对象的全部访问权限时
巧妙引用:当访问被代理的对象时,增加额外的活动,引用计数就是一个例子
#include <iostream> using namespace std; class ProxyBase { public: virtual void f() = 0; virtual void g() = 0; virtual void h() = 0; virtual ~ProxyBase() {} }; class Implementation : public ProxyBase { public: void f() { cout << "Implementation.f()" << endl; } void g() { cout << "Implementation.g()" << endl; } void h() { cout << "Implementation.h()" << endl; } }; class Proxy : public ProxyBase { ProxyBase* implementation; public: Proxy() { implementation = new Implementation(); } ~Proxy() { delete implementation; } // Forward calls to the implementation: void f() { implementation->f(); } void g() { implementation->g(); } void h() { implementation->h(); } }; int main() { Proxy p; p.f(); p.g(); p.h(); }
代理模式的一般用途:
远程代理:为不同地址空间的对象提供代理
虚拟代理:根据需要提供一种“惰性初始化”方式来创建高代价的对象
保护代理:当不愿意客户程序员拥有被代理对象的全部访问权限时
巧妙引用:当访问被代理的对象时,增加额外的活动,引用计数就是一个例子
相关文章推荐
- 浅析设计模式中的代理模式在C++编程中的运用
- C++编程思想(卷二):设计模式:单件
- OC视频笔记5.4(协议的定义与使用)(代理设计模式)(代理设计模式思想)
- C++编程思想(卷二):设计模式:命令模式
- C++编程思想(卷二):设计模式:状态模式
- C++编程思想(卷二):设计模式:适配器模式
- C++编程思想(卷二):设计模式:模板方法模式
- 设计思想学习—代理模式
- C++编程思想(卷二):设计模式:策略模式
- C++编程思想(卷二):设计模式(序)
- C++编程思想(卷二):设计模式:职责链模式
- 代理对象我所理解的设计模式(C++实现)——代理模式(Proxy Pattern)
- 设计模式之代理模式
- 设计模式总结篇系列:代理模式(Proxy)
- 设计模式学习--------12.代理模式学习
- 设计模式之代理模式
- 我看懂的设计模式 Proxy,代理模式
- 设计模式学习--------12.代理模式学习
- 设计模式之代理模式
- 设计模式之七(代理模式)