C++设计模式之Proxy模式怎么实现
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,今天小编给大家分享一下C++设计模式之Proxy模式怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面
千家信息网最后更新 2025年01月18日C++设计模式之Proxy模式怎么实现
今天小编给大家分享一下C++设计模式之Proxy模式怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
代理模式很容易理解,就是代替别人去做某一件事,打个比方,我们需要买水果,一般是去超市或者水果店买水果,很少有人去果园买水果,果园是生产水果的地方,但很少出售水果,在这里,水果店,超市就成了代理。
首先定义一个抽象类,提供所有的函数接口。
1.定义卖水果的抽象类,也就是接口,果园与超市都要继承这个类。
#pragma onceclass CSellFruits//定义一个抽象类{public: CSellFruits(void); virtual ~CSellFruits(void); virtual void sellapple()=0; //定义接口,卖苹果 virtual void sellorange()=0;//定义接口,卖橘子}; #include "SellFruits.h"CSellFruits::CSellFruits(void){} CSellFruits::~CSellFruits(void){}
2.定义具体类,也就是果园类,果园生产水果,但是一般不买水果
#pragma once#include "sellfruits.h"#includeclass COrchard : public CSellFruits{public: COrchard(void); virtual ~COrchard(void); virtual void sellapple(); virtual void sellorange();}; #include "Orchard.h"COrchard::COrchard(void){} COrchard::~COrchard(void){} void COrchard::sellapple(){ printf("Sell apple\n");} void COrchard::sellorange(){ printf("Sell orange\n");}
3.定义代理类,代理卖水果的类
#pragma once#include "sellfruits.h"#include "Orchard.h"#includeclass CProcySellFruits : public CSellFruits{public: CProcySellFruits(void); virtual ~CProcySellFruits(void); virtual void sellapple(); virtual void sellorange();private: CSellFruits *p_SellFruits; //传入接口对象}; #include "ProcySellFruits.h"CProcySellFruits::CProcySellFruits(void):p_SellFruits(NULL){} CProcySellFruits::~CProcySellFruits(void){} void CProcySellFruits::sellapple(){ if(this->p_SellFruits==NULL) { this->p_SellFruits=new COrchard(); //用被代理的类实例化 } this->p_SellFruits->sellapple();//代理果园卖苹果} void CProcySellFruits::sellorange(){ if(this->p_SellFruits==NULL) { this->p_SellFruits=new COrchard(); //用被代理的类实例化 } this->p_SellFruits->sellorange();//代理果园卖橘子}
4.实际调用
CProxySellFruits* p=new CProxySellFruits(); //用代理类卖水果 p->SellApple(); p->SellOrange();
以上就是"C++设计模式之Proxy模式怎么实现"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
水果
代理
果园
模式
接口
知识
篇文章
超市
设计模式
C++
设计
也就是
内容
实例
就是
橘子
水果店
苹果
生产
不同
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
芜湖市网络安全和信息化
与网络安全相关的算法
软件开发收入如何结转成本
联想7x06服务器开关
全国社会学数据库
微信推广网络技术
明日之后春节模式的服务器在哪
深圳晟讯网络技术有限公司
网络安全周每日新报
王者荣耀用什么软件开发的
第二学期数据库原理与应用答案
计算机网络技术子网技术
cba球员总得分数据库中心
郑州软件开发it培训
安徽数据库空投箱厂家现货
停车云坐席软件开发
同步数据库公司哪个好
《网络安全法》规定 监督
天文数字底片数据库第一批
数据库视图修改原表之后项目报错
网络安全及稳定总结
对网络安全行业的看法
网络安全危害程度划分
嘉兴app软件开发培训
开票系统安全服务器地址
网络安全宣传日主题是什么
vyos装到服务器上性能如何
vb text 数据库
创建数据库后干什么
多任务多路径软件开发