看一下代理模式C++代码的实现。
#include <iostream>
#include <string>
#include <math.h>
#include <stdlib.h>
using namespace std;
//代理模式
class Subject
{
virtual void request() {}
};
class RealSubject : public Subject
{
public:
void Request()
{
cout << "真实的请求" << endl;
}
};
class Proxy : public Subject
{
public:
Proxy()
{
pReal = NULL;
}
void request()
{
if(pReal = NULL)
{
pReal = new RealSubject();
}
pReal->Request();
}
private:
RealSubject *pReal;
};
int main()
{
Proxy *proxy = new Proxy();
proxy->request();
delete proxy;
return 0;
}
代理模式的应用:远程代理,虚拟代理,安全代理,智能指引。代理模式简单,不多说
参考资料:大话设计模式