代理模式-

代理模式通常找到代理方来管理用户的权限访问。如下图:

cpp 复制代码
#include<string>
#include<iostream>
using namespace std;
class Video
{
public:
	virtual void  Free() = 0;
	virtual void VIP() = 0;
	virtual void  Ticket() = 0;
};
class  FixbugVideo:public Video
{
public:
	virtual void  Free() { cout << "free" << endl; }
	virtual void VIP() { cout << "VIP" << endl; }
	virtual void  Ticket() { cout << "Ticket" << endl; }
};
class FreeProxy :public Video
{
private:Video* v;
public:
	FreeProxy()
	{
		v = new FixbugVideo();
	}
	
	virtual void  Free() { v->Free(); }
	virtual void VIP() { cout << "无权限VIP" << endl; }
	virtual void  Ticket() { cout << "无权限Ticket" << endl; }
};

class VIPProxy :public Video
{
private:Video* v;
public:
	VIPProxy()
	{
		v = new FixbugVideo();
	}
	virtual void  Free() { v->Free(); }
	virtual void VIP() { v->VIP(); }
	virtual void  Ticket() { cout << "无权限Ticket" << endl; }
};


class TicketProxy :public Video
{
private:Video* v;
public:
	TicketProxy()
	{
		v = new FixbugVideo();
	}

	virtual void  Free() { v->Free(); }
	virtual void VIP() { v->VIP(); }
	virtual void  Ticket() { v->Ticket();}
};
void Look(Video* p)
{
	p->Free();
	p->Ticket();
	p->VIP();
}
int main()
{
	Video* v = new FreeProxy();
	Video* v1 = new VIPProxy();
	Video* v3 = new TicketProxy();
	Look(v);
	Look(v1);
	Look(v3);
}
相关推荐
周杰伦fans3 天前
[特殊字符] 代理模式超详细讲解 ——.NET
数据库·c#·代理模式
phdsky4 天前
【设计模式】代理模式
设计模式·代理模式
司铭鸿4 天前
化学式解析的算法之美:从原子计数到栈的巧妙运用
linux·运维·服务器·算法·动态规划·代理模式·哈希算法
ZHE|张恒4 天前
设计模式(十二)代理模式 — 用代理控制访问,实现延迟加载、权限控制等功能
设计模式·代理模式
程序员-周李斌5 天前
Java 代理模式详解
java·开发语言·系统安全·代理模式·开源软件
xuchaoxin13756 天前
浏览器代理插件@按规则自动切换代理模式@ZeroOmega配置协议分流@http链接直连
代理模式·浏览器
未若君雅裁7 天前
斐波那契数列 - 动态规划实现 详解笔记
java·数据结构·笔记·算法·动态规划·代理模式
小毛驴8508 天前
软件设计模式-代理模式
设计模式·系统安全·代理模式
WKP941811 天前
装饰器模式和代理模式
代理模式·装饰器模式
她说彩礼65万21 天前
C# 代理模式
开发语言·c#·代理模式