一、意图:
提供代理以控制对象的访问;
二、类图:
三、组成元素:
Subject:公共接口;
Proxy:代理,保存引用用以访问对象;
RealSubject:定义Proxy所代表的实体;
四、实现代码:
#include "iostream" using namespace std; class Subject { public: virtual void Request()=0; }; class RealSubject:public Subject { public: virtual void Request() { cout<<"Request By RealSubject"<<endl; } }; class Proxy:public Subject { private: RealSubject* m_pRealSubject; public: Proxy() { m_pRealSubject=NULL; } virtual void Request() { if (m_pRealSubject==NULL) { cout<<"Request By Proxy"<<endl; m_pRealSubject=new RealSubject(); } m_pRealSubject->Request(); } }; void main() { Subject* pProxy=new Proxy(); pProxy->Request(); delete pProxy; system("pause"); }
理解代理模式及其在C++中的实现
本文详细解释了代理模式的意图、类图、组成元素,并通过C++代码展示了其实现方式,帮助读者理解如何使用代理模式来控制对象的访问。

1434

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



