码迷,mamicode.com
首页 > 其他好文 > 详细

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

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

标签:a   文件   使用      代码   关系   

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

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

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

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

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

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

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

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

标签:a   文件   使用      代码   关系   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!