09.代理模式和装饰模式的区别

代理模式和装饰模式

  1. 代理模式UML


    代理模式类图
  2. 装饰模式UML


    装饰模式类图

    从类图来看,二者除了名称不同,几乎没有差别,这也常常引起困惑。代理模式和装饰模式的区别,究竟是什么呢?看了很多写二者区别的文章,更加困惑了。
    回顾一下二者的定义:

  • 装饰模式:
    装饰模式是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
  • 代理模式:
    为其他对象提供一种代理以控制对这个对象的访问。

对于定义,可以看出二者的区别,装饰是锦上添花,代理是控制访问。
区别之处,在于使用场景吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,896评论 18 399
  • 本文首发于个人博客:Lam's Blog - 谈谈23种设计模式在Android源码及项目中的应用,文章由Mark...
    格子林ll阅读 10,109评论 1 105
  • 群里已经发展到18个人了,能跟这么多小伙伴一起每天成长,是我的幸运。 像鱼姐说的,一直每天写作居然都一百多天了,能...
    乌卓阅读 2,338评论 2 3
  • 有没有觉得,爱一个人并不是每天都同样深在爱,我们总会有情感波动的时候。比如今天下雨,他没来接你下班,他甚至没有发信...
    萱小蕾阅读 3,715评论 0 1
  • 发现想看一个地方最好的地方还是看它的市区。徐州市挺大的,光看环境还可以。徐州东站形状像一条鱼,里头大同小异。就是厕...
    3ba38b891019阅读 3,153评论 0 0