远程代理,可以隐藏一个对象在不同地址空间的事实
虚拟代理:通过代理来存放需要很长时间实例化的对象
安全代理:用来控制真实对象的访问权限
智能引用:当调用真实对象时,代理处理另外一些事

例:
#include <string>
#include <iostream>
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();
return 0;
}
本文详细介绍了代理模式的概念及其在软件设计中的应用。通过一个简单的示例,展示了如何使用代理模式来控制对真实对象的访问,同时提供了C++实现的代码示例。
527

被折叠的 条评论
为什么被折叠?



