C++设计模式-代理模式
目录
基本概念
代码及演示
基本概念
代理模式(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++设计模式-代理模式相关推荐
- Python设计模式-代理模式
Python设计模式-代理模式 基于Python3.5.2,代码如下 #coding:utf-8info_struct = dict() info_struct["addr"] = ...
- Java设计模式(代理模式-模板方法模式-命令模式)
Java设计模式Ⅴ 1.代理模式 1.1 代理模式概述 1.2 静态代理 1.2.1 静态代理概述 1.2.2 代码理解 1.3 动态代理之JDK代理 1.3.1 动态代理之JDK代理概述 1.3.2 ...
- 设计模式——代理模式
设计模式--代理模式 代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能 ...
- 23种设计模式----------代理模式(一)
代理模式也叫委托模式. 代理模式定义:对其他对象提供一种代理从而控制对这个对象的访问.就是,代理类 代理 被代理类,来执行被代理类里的方法. 一般情况下,代理模式化有三个角色. 1,抽象的主题类(或者 ...
- java设计模式代理模式_Java中的代理设计模式
java设计模式代理模式 代理对象或代理对象为另一个对象提供占位符,以控制对该对象的访问. 代理充当原始对象的轻量级版本或简化版本. 它支持与原始对象相同的操作,但可以将那些请求委托给原始对象以实现它 ...
- 第四章 Caché 设计模式 代理模式
文章目录 第四章 Caché 设计模式 代理模式 定义 类型 使用场景 优点 缺点 结构图 完整示例 抽象主题类 真实主题类 代理类 对象类 调用 思考 第四章 Caché 设计模式 代理模式 定义 ...
- Android常见设计模式——代理模式(Proxy Pattern)(二)
文章目录 1. 前言 2. 远程代理(Remote Proxy) 3. 后记 1. 前言 在上篇Android常见设计模式--代理模式(Proxy Pattern)中基本上知道了什么是代理模式,以及对 ...
- sheng的学习笔记-设计模式-代理模式
原理图: 代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问.这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介. 至少在以下集中情况下可以用 ...
- 设计模式-代理模式(Proxy Pattern)
设计模式-代理模式(Proxy Pattern) 文章目录 设计模式-代理模式(Proxy Pattern) 一.定义 二.概念解释 三.场景 四.实现 1.类图 2.代码实现 五.小结 六.动态代理 ...
- 简说设计模式——代理模式
一.什么是代理模式 关于代理模式,我们听到的见到的最多的可能就是静态代理.动态代理之类的,当然还有大家都知道的Spring Aop,这里我们先不谈这些个代理,先说个简单的例子.游戏代练应该都听说过,许 ...
最新文章
- 读书笔记之《淘宝技术这十年》
- WritableComparable排序案例(全排序)
- 大学计算机基础实验指导试题,(大学计算机基础实验指导)模拟试题(二)参考答案...
- 一个DDOS病毒的分析(一)
- IOS 中视图控制器的生命周期
- YbtOJ#20235-[冲刺NOIP2020模拟赛Day9]公共序列【dp】
- Log 日志的使用与重要性
- csh远程登录服务器,ubuntu远程连接服务器某一个用户(非root用户)出现sh: 1: source: not found...
- 网创第一件事是要找一起奋斗的人
- ​最高要价 8888元,小米 11 邀请函现身闲鱼;荣耀与微软签署全球 PC 合作协议;Xfce 4.16 发布|极客头条...
- MODIS数据下载之USGS下载流程
- Mongodb数据库(上)
- 安卓双摄像头录像_usb双摄像头app下载
- 健脾和胃,养生食疗——山药枸杞鲫鱼汤了解一下
- 吴伯凡:VUCA时代的自我迭代
- egg extend ts_NAS初体验—威联通TS-451D - jingkunliu
- 三星mzvlb1t0hblr是什么固态_固态硬盘跑分速度天梯图/天梯表,最全搜集。
- hive3编译 on tez+tez-ui配置和遇到的兼容问题与踩坑记录
- 推荐一款软件加密授权工具
- [机缘参悟-65]:《兵者,诡道也》-6-三十六计解读-并战计
热门文章
- linux-ubuntu txt乱码
- Linux内核中流量控制(4)
- 融创上海:从营销切入,建立自上而下的数据平台,实现数据应用
- BI报表平台纪实:半年被叫停,用户个位数,分析后我找到了原因
- 程序员懂算法玩“淮安掼蛋”是否更有优势?
- 门户网站的免费写手我们可怜的SEOer
- web前端 如何入门人工智能算法
- 一般程序员 vs 优秀程序员,没有对比就没有伤害
- pca百分比取多少比较好_母亲节给妈妈发多少红包比较好合适 母亲节红包吉利数字含义...
- C\C++不经意间留下的知识空白------const使用