代理模式:为其他对象提供一种代理以控制对这个对象的访问。

代理模式:⒈远程代理  也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实(例如WEBSERVICES)

⒉虚拟代理  是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象(例如网页中的图片,通过虚拟代理来替代真实的图片,此时代理存储真实图片的路径和尺寸)

⒊安全代理  用来控制真实对象访问时的权限

⒋智能指引  指当调用真实对象时,代理处理另外一些事

类实现

  1. //Proxy.h
  2. #ifndef AFX_CLASS_SUBJECT
  3. #define AFX_CLASS_SUBJECT
  4. class Subject
  5. {
  6. public:
  7. virtual void Request()=0;
  8. };
  9. #endif
  10. #ifndef AFX_CLASS_REALSUBJECT
  11. #define AFX_CLASS_REALSUBJECT
  12. class RealSubject:public Subject
  13. {
  14. public:
  15. virtual void Request()
  16. {
  17. cout<< "真实的请求" << endl;
  18. }
  19. };
  20. #endif
  21. #ifndef AFX_CLASS_PROXY
  22. #define AFX_CLASS_PROXY
  23. class Proxy:public Subject
  24. {
  25. public:
  26. Proxy()
  27. {
  28. realSubject = NULL;
  29. }
  30. virtual void Request()
  31. {
  32. if( realSubject == NULL )
  33. {
  34. realSubject = new RealSubject();
  35. }
  36. realSubject->Request();
  37. }
  38. private:
  39. RealSubject *realSubject;
  40. };
  41. #endif

主函数实现:

  1. #include <iostream>
  2. #include <string>
  3. #include <conio.h>
  4. using namespace std;
  5. #include "proxy.h"
  6. int main( int argc , char *argv[] )
  7. {
  8. Proxy *proxy = new Proxy();
  9. proxy->Request();
  10. getch();
  11. return 1;
  12. }

转载于:https://www.cnblogs.com/yaokang/archive/2012/05/31/2527218.html

C++模式-Proxy相关推荐

  1. 代理模式(Proxy)简介

    代理模式相对来讲比较简单和容易理解. 一, 代理模式(Proxy)的定义 教材里定义很简单: 所谓代理模式, 就是为其他对象提供一种代理控制对这个对象的访问. 上面出现了3个名词: 1.其他对象 2. ...

  2. 二十四种设计模式:代理模式(Proxy Pattern)

    代理模式(Proxy Pattern) 介绍 为其他对象提供一个代理以控制对这个对象的访问. 示例 有一个Message实体类,某对象对它的操作有Insert()和Get()方法,用一个代理来控制对这 ...

  3. Java24种设计模式(第二种)--代理模式(Proxy Pattern)

    Java24种设计模式 (第二种) 一.代理模式(Proxy Pattern) 模式逻辑: 什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道 被代理人能做哪些事 ...

  4. 二十三种设计模式(第十二种)-----代理模式(Proxy)

    二十三种设计模式(第十二种)-----代理模式(Proxy) 尚硅谷视频连接https://www.bilibili.com/video/BV1G4411c7N4?from=search&se ...

  5. [Java] 代理模式 Proxy Mode

    [Java] 代理模式 Proxy Mode 文章目录 [Java] 代理模式 Proxy Mode 1. 代理思想 2.java.lang.reflect.Proxy类 2.1 利用反射创建prox ...

  6. 设计模式——代理模式(Proxy Pattern)之为别人做嫁衣

    代理模式Proxy Pattern 代理模式 1.背景 2.定义 3.特征 4.应用场景 5.实验案例 参考 代理模式 1.背景 假如说我现在想租一间房子,虽然我可以自己去找房源,做卫生检测等一系列的 ...

  7. 设计模式-代理模式(Proxy Pattern)

    设计模式-代理模式(Proxy Pattern) 文章目录 设计模式-代理模式(Proxy Pattern) 一.定义 二.概念解释 三.场景 四.实现 1.类图 2.代码实现 五.小结 六.动态代理 ...

  8. js设计模式——代理模式proxy

    什么是代理模式 代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问. (可以想象一下明星与经纪人的关系,明星是请求的本体,经纪人就是代理proxy) 如何实现代理模式 代理对象内部含有对本 ...

  9. 设计模式之代理模式(Proxy)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  10. PHP代理模式Proxy Mode

    代理,指的就是一个角色代表另一个角色采取行动,就像现实生活中,微软或联想不会直接把自己的系统或者电脑卖给客户,而是通过代理来完成它的销售业务.而客户,也不用为了买个Office或笔记本而到处去找联想工 ...

最新文章

  1. vue 搭建脚手架 的教程
  2. 使用线程池时一定要注意的五个点
  3. 风控项目-收集基础知识1
  4. boost avplayer
  5. c 冒泡排序_C语言中选择排序和冒泡排序
  6. java.lang.OutOfMemoryError: Java heap space 错误及解决办法
  7. 项目实体类报错_第一次开发项目感想
  8. 无代码iVX编程实现简单跳跃超级玛丽游戏
  9. CF803G-Periodic RMQ Problem【离散化,线段树,ST表】
  10. 用例图-是外部用户(被称为参与者)所能观察到的系统功能的模型图
  11. 萌宠NFT将于4月16日正式上线
  12. 卸载VS2005不完全出现的安装问题
  13. mysql 修改字段长度
  14. 真正的正数、负数、整数等正则表达式,网上好多都是错的
  15. 5G-NR非连续接收DRX参数配置详解
  16. Java小程序 —— 简单五子棋
  17. 【Web前端学前体验】HTML+CSS 实战练习-Olay玉兰油官网
  18. 广告业务系统 之 辅助决策 —— “ AB 实验平台”
  19. 【OpenGL ES】透视变换原理
  20. Ubuntu18.04打开优化设置界面

热门文章

  1. Python数据结构之字节,字节数组
  2. poj3667 hotel
  3. IE下Ajax缓存(转载)
  4. Leetcode 558.四叉树交集
  5. 博客园的第一篇文章-----述学习编程的开始与经历
  6. FreeBSD11配置local_unbound做dns缓存和转发
  7. [转]中国IT富翁们的第一份工作(组图)。
  8. iOS底层探索之多线程(六)—GCD源码分析(sync 同步函数、async 异步函数)
  9. 如何在不卸载的情况下暂时禁用Tuxera NTFS
  10. 原型和原型链 及 instanceof函数