首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式学习笔记——代理模式

2012-11-05 
设计模式学习笔记——代理模式?代理模式ProxyPattern给某一个对象提供一个代理对象,并由代理对象控制原对象

设计模式学习笔记——代理模式

?

代理模式ProxyPattern

给某一个对象提供一个代理对象,并由代理对象控制原对象的引用。

?

代理模式的组成角色

抽象主题角色Subject:生命了真实主题和代理主题的共同接口

代理主题角色ProxySubject:内部含有真实主题的引用,可以在任何时候操作真实主体对象,添加额外操作,对真是对象进行封装

真实主题角色RealSubject:具体需要的逻辑实现

搜了张类图来看下三者关系

设计方式学习笔记——代理模式

代理主题不改变真实主题的接口,让客户端感觉不到代理的存在,只起到一个传递作用。

?

代理模式有很多种类,包括:

远程代理,虚拟代理,保护代理,Cache代理,防火墙代理,智能引用代理等等等等 他们各有各得特点

例如保护代理提供额外的一个权限控制,只能引用代理可额外提供计数等操作,虚拟代理提供了创建大资源消耗对象时的一种解决方案等。

?

首先看一个最简单的例子,来了解Proxy的工作原理

首先是Subject,已经成为惯例的抽象接口

?

public Object getByArray(Object array, int index) {return Array.get(array, index);}
?

其他的参考源:

http://www.iteye.com/topic/517835

http://www.blogjava.net/baoyaer/articles/84080.html

热点排行