代理模式-

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

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);
}
相关推荐
无限大.3 天前
动态规划与贪心算法:核心区别与实例分析
贪心算法·动态规划·代理模式
丶Darling.4 天前
Day42 | 动态规划 :选或不选 打家劫舍&&打家劫舍II
算法·动态规划·代理模式
OkeyProxy4 天前
伺服器代理查找失敗的原因和解決方案
代理模式·ip·代理服务器·海外ip代理·proxypattern
无敌岩雀6 天前
C++设计模式结构型模式———代理模式
c++·设计模式·代理模式
南城花随雪。6 天前
Spring框架之代理模式 (Proxy Pattern)
java·spring·代理模式
肘击鸣的百k路8 天前
Java 代理模式详解
java·开发语言·代理模式
OkeyProxy9 天前
怎麼解決IP地址衝突的問題?
代理模式·proxy模式·ip地址·代理服务器·海外ip代理
G皮T12 天前
【设计模式】结构型模式(二):代理模式
java·设计模式·编程·代理模式·proxy pattern·结构型模式
zzzhpzhpzzz12 天前
设计模式——代理模式
设计模式·系统安全·代理模式
羽愿13 天前
技术总结(十九)
代理模式