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;
}