Proxy模式
代理模式其,思想倒类似于封装的概念。主要是将某功能操作通过另一对象,来全权处理。对
被代理的对象,它不管你是如何处理。它只要结果。比如:对数据的提取。原本可能要经过N个对象共
同配合,最终取得数据。此时,可以用一个代理对象,来全权处理之。又比如说:我们上网,打开网页,
可以通过windows的网络功能模块,去解析,并最终打开网页。同时也可以通过代理,解析并最终打开网
页。
下面是参考代码
class Subject
{
public:
virtual void Request() = 0;
protected:
Subject(){}
};
class ImplSubject
{
public:
virtual void Request(){ //....}
};
class Proxy
{
public:
Proxy(){}
Proxy(Subject* sub){m_pSub = sub;}
private:
Subject* m_pSub;
void Request(){ m_pSub->Request();}
};
int main(int argc, char* argv[])
{
Subject* sub = new ImplSubject();
Proxy* p = new Proxy(sub);
p->Request();
return 0;
}