目录

基本概念

代码及演示


基本概念

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

UML图如下:

以本人目前(2019-06-12)个人的水平对代理的认识:

真实对象可以用于存储数据,并做一些基本的逻辑。

代理可以进行复制的逻辑。

代码及演示

程序运行截图如下:

结构如下:

Head.h

#ifndef HEAD_H
#define HEAD_H#include <iostream>
#include <string>
using namespace std;class Subject{public:virtual void request(){}
};class RealSubject: public Subject{public:void request();RealSubject();protected://某些数据int m_intValue;string m_strValue;float m_floatValue;
};class ProxySubject: public Subject{public:void request();ProxySubject();private:RealSubject *m_realSubject;
};#endif    //HEAD_H

Head.cpp

#include "Head.h"void RealSubject::request()
{cout << "RealSubject request called!" << endl;cout << "m_inValue is : " << m_intValue << endl;cout << "m_strValue is : " << m_strValue << endl;cout << "m_floatValue is : " << m_floatValue << endl;
}RealSubject::RealSubject()
{cout << "RealSubject construction called!" << endl;m_intValue = 100;m_strValue = "Hello World!";m_floatValue = 100.01;
}void ProxySubject::request()
{cout << "ProxySubject request called!" << endl;m_realSubject->request();
}ProxySubject::ProxySubject()
{cout << "ProxySubject construction called!" << endl;m_realSubject = new RealSubject;}

main.cpp

#include "Head.h"int main(int argc[], int *argv[]){ProxySubject *proxySubject = new ProxySubject;proxySubject->request();delete proxySubject;getchar();return 0;
}

C++设计模式-代理模式相关推荐

  1. Python设计模式-代理模式

    Python设计模式-代理模式 基于Python3.5.2,代码如下 #coding:utf-8info_struct = dict() info_struct["addr"] = ...

  2. Java设计模式(代理模式-模板方法模式-命令模式)

    Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...

  3. 设计模式——代理模式

    设计模式--代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能 ...

  4. 23种设计模式----------代理模式(一)

    代理模式也叫委托模式. 代理模式定义:对其他对象提供一种代理从而控制对这个对象的访问.就是,代理类 代理 被代理类,来执行被代理类里的方法. 一般情况下,代理模式化有三个角色. 1,抽象的主题类(或者 ...

  5. java设计模式代理模式_Java中的代理设计模式

    java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...

  6. 第四章 Caché 设计模式 代理模式

    文章目录 第四章 Caché 设计模式 代理模式 定义 类型 使用场景 优点 缺点 结构图 完整示例 抽象主题类 真实主题类 代理类 对象类 调用 思考 第四章 Caché 设计模式 代理模式 定义 ...

  7. Android常见设计模式——代理模式(Proxy Pattern)(二)

    文章目录 1. 前言 2. 远程代理(Remote Proxy) 3. 后记 1. 前言 在上篇Android常见设计模式--代理模式(Proxy Pattern)中基本上知道了什么是代理模式,以及对 ...

  8. sheng的学习笔记-设计模式-代理模式

    原理图: 代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问.这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介. 至少在以下集中情况下可以用 ...

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

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

  10. 简说设计模式——代理模式

    一.什么是代理模式 关于代理模式,我们听到的见到的最多的可能就是静态代理.动态代理之类的,当然还有大家都知道的Spring Aop,这里我们先不谈这些个代理,先说个简单的例子.游戏代练应该都听说过,许 ...

最新文章

  1. 读书笔记之《淘宝技术这十年》
  2. WritableComparable排序案例(全排序)
  3. 大学计算机基础实验指导试题,(大学计算机基础实验指导)模拟试题(二)参考答案...
  4. 一个DDOS病毒的分析(一)
  5. IOS 中视图控制器的生命周期
  6. YbtOJ#20235-[冲刺NOIP2020模拟赛Day9]公共序列【dp】
  7. Log 日志的使用与重要性
  8. csh远程登录服务器,ubuntu远程连接服务器某一个用户(非root用户)出现sh: 1: source: not found...
  9. 网创第一件事是要找一起奋斗的人
  10. ​最高要价 8888元,小米 11 邀请函现身闲鱼;荣耀与微软签署全球 PC 合作协议;Xfce 4.16 发布|极客头条...
  11. MODIS数据下载之USGS下载流程
  12. Mongodb数据库(上)
  13. 安卓双摄像头录像_usb双摄像头app下载
  14. 健脾和胃,养生食疗——山药枸杞鲫鱼汤了解一下
  15. 吴伯凡:VUCA时代的自我迭代
  16. egg extend ts_NAS初体验—威联通TS-451D - jingkunliu
  17. 三星mzvlb1t0hblr是什么固态_固态硬盘跑分速度天梯图/天梯表,最全搜集。
  18. hive3编译 on tez+tez-ui配置和遇到的兼容问题与踩坑记录
  19. 推荐一款软件加密授权工具
  20. [机缘参悟-65]:《兵者,诡道也》-6-三十六计解读-并战计

热门文章

  1. linux-ubuntu txt乱码
  2. Linux内核中流量控制(4)
  3. 融创上海:从营销切入,建立自上而下的数据平台,实现数据应用
  4. BI报表平台纪实:半年被叫停,用户个位数,分析后我找到了原因
  5. 程序员懂算法玩“淮安掼蛋”是否更有优势?
  6. 门户网站的免费写手我们可怜的SEOer
  7. web前端 如何入门人工智能算法
  8. 一般程序员 vs 优秀程序员,没有对比就没有伤害
  9. pca百分比取多少比较好_母亲节给妈妈发多少红包比较好合适 母亲节红包吉利数字含义...
  10. C\C++不经意间留下的知识空白------const使用