设计模式读书笔记:Proxy(代理)

原创 2015年07月10日 17:23:50

意图:

为其他对象提供一种代理以控制对这个对象的访问。

结构图:来自 《23种设计模式 - 郗晓勇》


实现:https://github.com/panshiqu/patterns/tree/master/Proxy

Subject

namespace NS_PROXY {

class Subject {
public:
	Subject() {}
	virtual ~Subject() {}
	virtual void Request(void) = 0;
};

} /* namespace NS_PROXY */
RealSubject

#include <iostream>

namespace NS_PROXY {

class RealSubject {
public:
	RealSubject() {}
	virtual ~RealSubject() {}
	virtual void Request(void)
	{
		std::cout << "Request RealSubject." << std::endl;
	}
};

} /* namespace NS_PROXY */
Proxy

#include "RealSubject.h"

namespace NS_PROXY {

class Proxy {
public:
	Proxy() : _realSubject(0) {}
	virtual ~Proxy()
	{
		if (_realSubject != 0)
			delete _realSubject;
	}
	virtual void Request(void)
	{
		if (_realSubject == 0)
			_realSubject = new RealSubject();

		_realSubject->Request();
	}

private:
	RealSubject *_realSubject;
};

} /* namespace NS_PROXY */
main

#include "Proxy/Proxy.h"
using namespace NS_PROXY;
int main(void)
{
	Proxy p;
	p.Request();
}
附加:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

读书笔记_java设计模式深入研究 第七章 代理模式 Proxy

1,代理模式:一个类可以用作其他东西的接口,其他类可以通过此类去访问被代理者。 2,UML图如下: 3,角色:     ISubject:抽象主题接口,该接口...

《大话设计模式》读书笔记:代理模式与Java的Proxy动态代理

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 在面向对象编程中,直接引用某些对象会因为种种原因(比如对象创建的开销过大,访问需要安全控制,或者需要跳出当前进程等)带来很多问...

《大话设计模式》读书笔记:代理模式与Java的Proxy动态代理

代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 在面向对象编程中,直接引用某些对象会因为种种原因(比如对象创建的开销过大,访问需要安全控制,或者需要跳出当前进程等)带来很多问...

设计模式读书笔记-----代理模式

在我们实际生活中代理情况无处不在!你在淘宝上面买东西,你使用支付宝平台支付,卖家请物流公司发货、你请朋友帮你拿包裹,在这个过程汇总支付宝、物流公司、你朋友都扮演者“第三者”的角色在帮你完成物品的购买,...
  • chenssy
  • chenssy
  • 2013年09月05日 21:58
  • 8635

大话设计模式读书笔记(五) 代理模式

上篇内容说到小菜去和娇娇约会,在本章中,小菜约会回来,和大鸟谈到娇娇是有男朋友的。并且聊到了娇娇的男朋友在追娇娇的过程。通过帮助卓贾谊同学东西的方法追求到了娇娇。而引出了代理模式。 代理模式Proxy...
  • xsyfl
  • xsyfl
  • 2017年04月06日 20:58
  • 73

读书笔记之设计模式(代理模式)

读书笔记:代理模式

《Android源码设计模式》读书笔记 (18) 第18章 代理模式

前言 代理模式也是一种结构型的设计模式, 定义 定义:为其他对象提供一种代理以控制对这个对象的访问. 使用场景:当无法或不想直接访问某个对象或访问某个对象困难时可以通过一个代理对象来间接访问,为了保证...

大话设计模式读书笔记 代理模式

schoolgirl.java package org.ustc.proxy; public class SchoolGirl { String name; public String ge...

Java程序性能优化 读书笔记(三)设计模式:代理模式

一、代理模式 代理模式也是一种很常见的设计模式。它使用代理对象完成用户请求,屏蔽用户对真实对象的访问。在现实中,使用代理的情况很普遍,而且原因也很多。比如,当事人因为某些隐私不方便出面,或者当事人不...

《大话设计模式》读书笔记之C++实现--chapter7代理模式

代理模式 2、UML类图详解 --Subject类:定义了RealSubject和Proxy的代理接口(也就是请求request函数的接口) --RealSubject类:定义了代理索要代理的真实实体...
  • wingWC
  • wingWC
  • 2017年04月01日 14:23
  • 225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式读书笔记:Proxy(代理)
举报原因:
原因补充:

(最多只允许输入30个字)