首页 > 其他 > 详细

装饰模式与代理模式的区别

时间:2014-05-26 21:55:10      阅读:317      评论:0      收藏:0      [点我收藏+]

二者的代码实现上非常的类似,但是就行为目的而言,二者是相反的(装饰模式:增强,代理模式:限制)

装饰器模式:能动态的新增或组合对象的行为。

代理模式:为其他对象提供一种代理以控制对这个对象的访问.(换句话说,可以不执行某功能)
装饰模式是“新增行为”,而代理模式是“控制访问”。

装饰模式是在原有基础之上增加额外的功能,而代理模式有两种情况可以使用第一种是延迟代理对象,对于大文件或者目前还未加载完的对象,使用比较合适。第二种为权限判断,在调用功能前判断当前用户是否有此权限。

代理模式不是嵌套调用的。

装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案;
代理模式给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用;
装饰模式应该为所装饰的对象增强功能;
代理模式对代理的对象施加控制,并不提供对象本身的增强功能

装饰模式与代理模式的区别,布布扣,bubuko.com

装饰模式与代理模式的区别

原文:http://www.cnblogs.com/549294286/p/3745899.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!