代理:指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互, 而代理一般在交互的过程中(交互前后),进行某些特别的处理
适用范围:为其他对象提供一种代理以控制对这个对象的访问
class interfaceObj {
public:
virtual void request() = 0;
};
class RealObj :public interfaceObj {
public:
void request() {
cout << "this is realObj request-----------" << endl;
}
};
class proxyObj :public interfaceObj {
public:
void proxyMethod() {
cout << "proxyMethod--------------" << endl;
}
void request() {
proxyMethod();
m_obj.request();
}
private:
RealObj m_obj;
};
int main() {
proxyObj proxyobj;
proxyobj.request();
system("pause");
return 0;
}