常见设计模式的解析和实现(C++)之十-Proxy模式
为其他对象提供一种代理以控制对这个对象的访问。
UML结构图:
抽象基类:
1)Subject:定义了Proxy和RealSubject的公有接口,这样就可以在任何需要使用到RealSubject的地方都使用Proxy.
解析:
Proxy其实是基于这样一种时常使用到的技术-某个对象直到它真正被使用到的时候才被初始化,在没有使用到的时候就暂时用Proxy作一个占位符.这个模式实现的要点就是Proxy和RealSubject都继承自Subject,这样保证了两个的接口都是一致的.
实现:
1)Proxy.h
















































2)Proxy.cpp













































3)Main.cpp
/********************************************************************
created: 2006/07/26
filename: Main.cpp
author: 李创
http://www.cppblog.com/converse/
purpose: Proxy模式的测试代码
*********************************************************************/
#include "Proxy.h"
#include <stdlib.h>
int main()
{
Subject* pProxy = new Proxy();
pProxy->Request();
delete pProxy;
system("pause");
return 0;
}
用代理类来代替实际类对象的使用,当需要是,调用request()接口,产生实际类对象。