下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.装饰模式与代理模式的区别(转载) 学习AOP时,教材上面都说使用的是动态代理,可是在印象中代理模式一直都是控制访问什么的,怎么又动态增加行为了,动态增加行为不是装饰器模式吗?于是 找了很多资料,想弄清楚这两者之间到底有什么区别。结果发现这一篇英文文章讲的很清晰,就翻译一下,供参考。 首先,让我们先看一下下面的这两个UML类图,他们分别描述了装饰器模式和代理模式的基本实现。 这两个图可能使我们产生困惑。这两个设计模式看起来很像。对装饰器模式来说,装饰者(decorator)和被装饰者(decoratee)都实现同一个 接口。对代理模式来说,代理类(proxy class)和真实处理的类(rea
2、l class)都实现同一个接口。此外,不论我们使用哪一个模式,都可以很容易地在真实对象的方法前面或者后面加上自定义的方法。 然而,实际上,在装饰器模式和代理模式之间还是有很多差别的。装饰器模式关注于在一个对象上动态的添加方法,然而代理模式关注于控制对对象的访问。换句话 说,用代理模式,代理类(proxy class)可以对它的客户隐藏一个对象的具体信息。因此,当使用代理模式的时候,我们常常在一个代理类中创建一个对象的实例。并且,当我们使用装饰器模式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。 我们可以用另外一句话来总结这些差别:使用代理模式,代理和真实对象之间的的关系通
3、常在编译时就已经确定了,而装饰者能够在运行时递归地被构造。代理模式:/代理模式public class Proxy implements Subject private Subject subject; public Proxy() /关系在编译时确定 subject = new RealSubject(); public void doAction() . subject.doAction(); . /代理的客户public class Client public static void main(String args) /客户不知道代理委托了另一个对象 Subject subject = new Proxy(); 装饰模式:/装饰器模式public class Decorator implements Component private Component component; public Decorator(Component component) ponent = component public void operation() . component.operation(); . /装饰器的客户public class Client public static void main(String args) /客户指定了装饰者需要装饰的是哪一个类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海市虹口区工会人员招聘考试模拟试题及答案详解
- 2026年江西省赣州市政务服务中心(窗口人员)招聘笔试参考题库及答案详解
- 2026年伊春市金山屯区政务服务中心(窗口人员)招聘考试备考试题及答案详解
- 2026年鹤壁市消防救援支队招聘政府专职消防员20名考试备考试题及答案详解
- 2026年福州市仓山区工会人员招聘考试备考试题及答案详解
- 石棉县2026年公开招聘社区工作者(21人)考试参考题库及答案详解
- 2026年芜湖市中西医结合医院(湾沚区总医院)招聘第三方眼科技师1人笔试参考题库及答案详解
- 2026年安徽省芜湖市工会人员招聘考试备考试题及答案详解
- 2026年焦作市山阳区工会人员招聘考试模拟试题及答案详解
- 2025年吉林省医疗系统事业编人员招聘考试试题及答案详解
- 2026江西抚州市市属国有企业招聘员工72名模拟试卷及1套完整答案详解
- 2025湖北恩施州巴东弘发产业发展集团有限公司招聘工作人员及笔试事宜笔试历年参考题库附带答案详解
- 2026安徽黄山供元财税管理咨询有限公司招聘3人考试备考试题及答案详解
- DB32∕T4117-2021保温装饰板外墙外保温系统技术规程-无水印
- 2026年第2期广西住房城乡建设领域施工现场专业人员岗位资格培训考试(装饰装修质量员)复习题及答案
- 2026年医药级聚乙二醇行业分析报告及未来发展趋势报告
- 2026贵州贵阳市卫健投智慧医疗科技有限公司招聘1人笔试历年典型考点题库附带答案详解
- 地质灾害防范课件
- 2025-2030长春现代农业示范区冷链物流设施建设项目研究
- 绿化管线施工方案(3篇)
- 食品餐饮连锁店运营经理绩效考核表
评论
0/150
提交评论