代理模式的优点:
远程代理,可以隐藏一个对象在不同地址空间的事实。
虚拟代理,可以通过代理来存放需要很长时间实例化的对象。
安全代理,用来控制真实对象的访问权限。
智能代理:当调用真实对象是,代理处理另外一个事情
具体代码如下:
// Strategy.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include<string>
using namespace std;
//定义接口
class Interface{
public:
virtual void Request() = 0;
};
//真实类
class RealClass :public Interface
{
public:
virtual void Request(){
cout << "真实的请求" << endl;
}
};
//代理类
class ProxyClass :public Interface{
private:
RealClass* m_realclass;
public:
virtual void Request(){
m_realclass = new RealClass();
m_realclass->Request();
delete m_realclass;
}
};
int main(){
ProxyClass *test = new ProxyClass;
test->Request();
getchar();
getchar();
return 0;
}