代理模式
其实代理模式大家都很熟悉,就是为其他对象提供一种代理以控制对这个对象的访问。简单来说,比如你让你的室友帮你向老师请假,这种就是代理,你的室友代理了你,你的老师可以通过你的室友来访问你。
废话不说,直接上代码:
// ProxyPattern.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
class Interface
{
virtual void Request() = 0;
};
class RealClass:public Interface
{
public:
void Request()
{
std::cout << "RealClass" << std::endl;
};
};
class ProxyClass :public Interface
{
public:
void Request()
{
std::cout << "ProxyClass" << std::endl;
real = new RealClass();
real->Request();
delete real;
};
private:
RealClass* real;
};
int main()
{
ProxyClass* test = new ProxyClass();
test->Request();
delete test;
getchar();
return 0;
}
其中Interface是接口类,RealClass是真实类,ProxyClass是代理类。
以后需要用到真实类的情况下都可以使用代理类来代替真实类。毕竟,代理类可以它的代理啊。
希望可以帮到你~~