设计模式之代理模式(C++实现)
来源:互联网 发布:怎么备份手机应用数据 编辑:程序博客网 时间:2024/06/15 10:08
代理模式:为其他对象提供代理以控制对这个对象的访问。
代理模式运用的场合:
1、远程代理。也就是为对象在不同的地址空间提供局部变量代表,这样可以隐藏一个对象存在于不同地址空间的事实
2、虚拟代理。根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。
3、安全代理。用来控制真实对象访问时的权限。
4、智能指引。指当调用真实对象时,代理处理另外一些事。
例如下例,真实对象Pursuit要给蠢蠢送礼物,但他不认识蠢蠢,只能通过代理Proxy来送礼物
/******************************************************************main.cpp************************************************************/
#include "Proxy.h"int main(){Proxy * proxy = new Proxy("蠢蠢");proxy->GiveChocolate();proxy->GiveDolls();proxy->GiveFlowers();getchar();return 0;}
/******************************************************************Givegift.h************************************************************/
#include <iostream>#include <string>#pragma onceusing namespace std;class Givegift{public:virtual void GiveChocolate()=0;virtual void GiveDolls()=0;virtual void GiveFlowers()=0;};
/******************************************************************Pursuit.h************************************************************/
#include "Givegift.h"class Pursuit:public Givegift{string girlname;public:Pursuit(string name){girlname = name;}void virtual GiveChocolate(){cout<<"给"<<girlname<<"巧克力"<<endl;};void virtual GiveDolls(){cout<<"给"<<girlname<<"玩具"<<endl;};void virtual GiveFlowers(){cout<<"给"<<girlname<<"花"<<endl;};};
/******************************************************************Proxy.h************************************************************/
#include "Givegift.h"#include "Pursuit.h"class Proxy:public Givegift{Pursuit *myPursuit;public:Proxy(string name){myPursuit = new Pursuit(name);}void GiveChocolate(){myPursuit->GiveChocolate();};void GiveDolls(){myPursuit->GiveDolls();};void GiveFlowers(){myPursuit->GiveFlowers();};};
0 0
- 设计模式之代理模式(C++)
- 设计模式之代理模式,C++实现
- scala实现设计模式之代理模式
- C语言实现《设计模式之禅》之代理模式——普通代理
- 设计模式之代理模式(C++实现)
- 设计模式---代理模式(c++实现)
- 系统架构设计——设计模式之代理模式(二)CGLIB动态代理实现
- 设计模式之代理模式(Proxy)
- 设计模式之代理模式(Proxy)
- 设计模式之Proxy(代理模式)
- 【设计模式】之代理模式(Proxy)
- 设计模式之代理(proxy)模式
- 设计模式之代理模式(待续)
- 设计模式之(Proxy)代理模式
- 设计模式之代理模式(Proxy)
- 设计模式之代理模式(Proxy)
- 设计模式之 代理模式(demo)
- 设计模式之代理模式(Proxy)
- 结盟版银-逐浪CMS与国际版权交易中心建立合作
- Python字符串格式化
- Rxjava中的range的简单使用。
- python matplotlib 中文显示参数设置
- php随笔
- 设计模式之代理模式(C++实现)
- Android仿射密码破译app
- iOS_UITextField整理
- 2016SDAU编程练习三1015
- 我爱学Java之四种引用类型(强软弱虚)
- linux下通过sed命令直接修改文件内容
- Linked List Cycle II
- jsoncpp解析拼装数组
- Latex插入图片报错问题处理集锦