代理模式(Proxy)

意图  
为其他对象提供一种代理以控制对这个对象的访问。

类图

参与者
Proxy:
Subject:定义RealSubject和Proxy的共用接口。
RealSubject:定义Proxy所代表的实体
作用:代理根据其种类,在适当的时候向RealSubject转发请求

代码
#include <iostream>
using namespace std;

class Subject
{
public:
    virtual void Request()=0;
};

class RealSubject:public Subject
{
public:
    void Request()
    {
        cout<<"真实的请求"<<endl;
    }
};

class Proxy:public Subject
{
private:
    RealSubject *pRealSubject;
public:
    void Request()
    {
        pRealSubject->Request();
    }
    void SetRealSubject(RealSubject * p)
    {
        pRealSubject = p;
    }
};
int main()
{
    Proxy *pProxy = new Proxy();
    pProxy->SetRealSubject(new RealSubject());
    pProxy->Request();
}
应用




posted @ 2013-11-13 16:42  tanhaiyuan  阅读(135)  评论(0编辑  收藏  举报