美文网首页
09.代理模式和装饰模式的区别

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

作者: 0x70e8 | 来源:发表于2018-03-20 09:34 被阅读0次

代理模式和装饰模式

  1. 代理模式UML


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


    装饰模式类图

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

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

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

相关文章

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

    代理模式和装饰模式 代理模式UML代理模式类图 装饰模式UML装饰模式类图从类图来看,二者除了名称不同,几乎没有差...

  • 装饰模式和代理模式区别

    装饰模式是以对客户端透明的方式扩展对象的功能,是继承方案的一个替代方案;代理模式则是给一个对象提供一个代理对象,并...

  • 设计模式之装饰者模式 - Decorator

    装饰者模式和代理模式的区别 装饰者模式的作用是扩展一个类的功能.代理模式的作用是控制对一个类的对象的访问, 但并不...

  • java中的代理模式与装饰者模式的区别

    java中的代理模式与装饰者模式的区别 代理模式与装饰者模式看起来很像,都实现基础对象实现的接口,在其自身对象中都...

  • 代理模式

    一,静态代理 针对于网上大多数静态代理写成装饰者模式(装饰着模式和静态代理的区别https://blog.csdn...

  • 代理模式(Proxy)

    代理模式和装饰模式非常类似,甚至代码都类似。二者最主要的区别是:代理模式中,代理类对被代理的对象有控制权,决定其执...

  • 设计模式总结

    相似设计模式的区别 装饰器和静态代理 1、装饰器模式:客户端决定装饰谁(对比静态代理) 2、静态代理:客户端不关心...

  • Java设计模式 - 装饰模式

    装饰模式 装饰模式重在“装饰”二字,这也是与代理模式的最大区别,很多人分不清两者的区别,甚至不假思索地就相信了网上...

  • 设计模式[8]-代理模式-Proxy Pattern

    1. 代理模式 代理模式(Proxy Pattern)是常用的结构性设计模式,和装饰者模式非常相似,代理类和被代理...

  • 代理模式和装饰器模式的区别

    代理模式和装饰器模式非常相近,本文通过举例,针对俩者的区别进行探讨。 示例:孩子会吃饭 创建孩子类,实现吃饭接口:...

网友评论

      本文标题:09.代理模式和装饰模式的区别

      本文链接:https://www.haomeiwen.com/subject/hnlvqftx.html