网站推广与优化哪里好网站建设朱宁
web/
2025/9/27 15:36:20/
文章来源:
网站推广与优化哪里好,网站建设朱宁,怎么用2级目录做网站,站长工具pr值查询代理模式是一种结构型设计模式#xff0c;旨在为其他对象提供一种代理或替代方法#xff0c;以控制对这些对象的访问。在代理模式中#xff0c;代理对象充当了客户端和目标对象之间的中间人#xff0c;客户端通过代理访问目标对象#xff0c;而不直接访问目标对象。 代理模… 代理模式是一种结构型设计模式旨在为其他对象提供一种代理或替代方法以控制对这些对象的访问。在代理模式中代理对象充当了客户端和目标对象之间的中间人客户端通过代理访问目标对象而不直接访问目标对象。 代理模式是常用的结构型设计模式之一当无法直接访问某个对象或访问某个对象存在困难时可以通过一个代理对象来间接访问。代理模式又可以分为多种类型例如保护代理、远程代理、虚拟代理、缓冲代理等它们应用于不同的场合满足用户的不同需求。代理模式 通过代理类来控制实际对象的访问权限客户 助理Proxy 老板实际对象委托类*/
#include iostream
#include memory
class VideoSite{ // 抽象类public:virtual void freeMovie()0; // 免费电影virtual void vipMovie()0; // vip电影virtual void ticketMovie()0; // 用卷看};class FixBugVideoSite :public VideoSite{ // 委托类
public:virtual void freeMovie(){std::cout 观看免费电影 std:: endl;}virtual void vipMovie(){std::cout 观看vip电影 std:: endl;}virtual void ticketMovie(){std::cout 用卷免费电影 std:: endl;}
};// 代理类 代理FixBugVideoSite
class FreeVideoSiteProxy:public VideoSite{
public:FreeVideoSiteProxy(){pVideo new FixBugVideoSite();}~FreeVideoSiteProxy(){delete pVideo ;}virtual void freeMovie(){pVideo-freeMovie(); // 通过代理对象的freeMovie来访问真正委托类对象的freeMovie方法}virtual void vipMovie(){std::cout 您目前师普通用户看不了观看vip电影 std:: endl;}virtual void ticketMovie(){std::cout 您目前师普通用户用卷看免费电影 std:: endl;}
private:VideoSite *pVideo;
};class VipVideoSiteProxy:public VideoSite{
public:VipVideoSiteProxy(){pVideo new FixBugVideoSite();}~VipVideoSiteProxy(){delete pVideo ;}virtual void freeMovie(){pVideo-freeMovie(); // 通过代理对象的freeMovie来访问真正委托类对象的freeMovie方法}virtual void vipMovie(){pVideo-vipMovie();}virtual void ticketMovie(){std::cout 您目前没有卷 std:: endl;}
private:VideoSite *pVideo;
};// 这些都是通用的API接口使用的都是基类的指针
void watchMovie(std::unique_ptrVideoSite ptr){ptr-freeMovie();ptr-vipMovie();ptr-ticketMovie();
}int main(){// 这样需要在这里判断是否够够看vip电影比较麻烦需要是由委托类来搞std::unique_ptrVideoSite p1 (new FreeVideoSiteProxy());std::unique_ptrVideoSite p2 (new VipVideoSiteProxy());watchMovie(p1);watchMovie(p2);return 0;
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82843.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!