c++设计模式之代理模式
2016-12-10 22:43
225 查看
代理模式为另一个对象提供了一个替身或占位符以控制对这个对象的访问
使用代理模式创建代表对象, 让代表对象控制某对象的访问, 被代理的对象可以是远程的对象, 创建开销大的对象或需要安全控制的对象
代理模式结构上类似于装饰者模式
测试
使用代理模式创建代表对象, 让代表对象控制某对象的访问, 被代理的对象可以是远程的对象, 创建开销大的对象或需要安全控制的对象
代理模式结构上类似于装饰者模式
#ifndef Proxy_h #define Proxy_h #include <string> using std::string; class Subject { public: virtual void request() = 0; }; class RealSubject : public Subject { public: virtual void request() { printf("RealSubject request.\n"); } }; class Proxy : public Subject { public: Proxy(Subject *s) : subject(s) { } virtual void request() { subject->request(); } private: Subject *subject; }; #endif
测试
#include <iostream> #include "Proxy.h" int main(int argc, char **argv) { RealSubject realSubject; Proxy proxy(&realSubject); proxy.request(); return 0; }
相关文章推荐
- PropertyChangeListener简单理解
- 什么是设计模式
- 设计模式之创建型模式 - 特别的变量问题
- 七、设计模式——装饰模式
- 设计模式总结
- 设计模式之创建型模式
- 浅谈设计模式的学习
- 设计模式---状态模式在web前端中的应用
- Ruby设计模式编程之适配器模式实战攻略
- 实例讲解Ruby使用设计模式中的装饰器模式的方法
- 设计模式中的模板方法模式在Ruby中的应用实例两则
- Ruby设计模式编程中对外观模式的应用实例分析
- 实例解析Ruby设计模式编程中Strategy策略模式的使用
- Ruby中使用设计模式中的简单工厂模式和工厂方法模式
- Ruby使用设计模式中的代理模式与装饰模式的代码实例
- 详解组合模式的结构及其在Ruby设计模式编程中的运用
- C# 设计模式系列教程-建造者模式
- C#编程中使用设计模式中的原型模式的实例讲解
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解