代理模式(Proxy)
2014-09-15 16:30
183 查看
1. 目的
当不希望客户知道某个接口的具体实现类时,可以使用一个代理类,由代理类去获取实际实现接口的类,然后客户调用的是代理类的接口,然后代理类去调用实际实现类的接口。
2.代码
proxy.h
proxy.cpp
执行结果:Real request
当不希望客户知道某个接口的具体实现类时,可以使用一个代理类,由代理类去获取实际实现接口的类,然后客户调用的是代理类的接口,然后代理类去调用实际实现类的接口。
2.代码
proxy.h
#ifndef PROXY_H_ #define PROXY_H_ class Interface { public: virtual ~Interface(); virtual void request()=0; }; class RealSubject:public Interface { public: void request(); }; class Proxy:public Interface { public: Proxy(); void request(); void setSubject(RealSubject&); private: RealSubject* real; };
proxy.cpp
#include "Proxy.h" #include <iostream> using namespace std; Interface::~Interface() {} void RealSubject::request() { cout<<"Real request "<<endl; } Proxy::Proxy():real(NULL) {} void Proxy::request() { if(real == NULL) { real = new RealSubject(); } real->request(); } void proxy() { Proxy p; p.request(); }
执行结果:Real request
相关文章推荐
- 设计模式之Proxy(代理)
- 设计模式(8)-代理模式(Proxy)
- 设计模式之Proxy(代理)
- 设计模式袖珍版 连续转载之 - Proxy(代理)
- 代理(Proxy)模式 vs. 代理(Agency)机构
- java设计模式之Proxy(代理)
- 设计模式之Proxy(代理)
- 设计模式----Proxy(代理)模式
- 代理(Proxy)模式
- 设计模式之Proxy(代理)
- Proxy代理(结构型模式)
- 代理(Proxy)模式
- 设计模式之Proxy(代理)
- 设计模式与泡mm的关系之Proxy代理模式及代理模式的再思考
- 代理(Proxy)模式
- 设计模式之Proxy(代理)
- 设计模式(6)-代理模式(Proxy)
- 代理(Proxy)模式 vs. 代理(Agency)机构
- 设计模式之Proxy(代理)
- 设计模式之代理(Proxy)----对象结构型模式