装饰模式 vs (静态)代理模式

栏目: 后端 · 发布时间: 5年前

内容简介:这两个设计模式都属于结构型模式,且非常相似,其UML图如下:装饰模式:

这两个 设计模式 都属于结构型模式,且非常相似,其UML图如下:

装饰模式:

装饰模式 vs (静态)代理模式

(静态)代理模式:提到代理模式一般是指静态代理模式,动态代理模式会在中专门讲解

装饰模式 vs (静态)代理模式

共同点:

  • 装饰者与被装饰者,代理类与被代理类,都是继承自同一个接口,可以令他们在被调用时相互替换

不同点:

  • 被装饰者往往被作为装饰者的构造器参数传入装饰者,强调被装饰者功能的增强;被代理类往往在代理类内部被创建,所以这里用UML里组合的关系,强调对被代理类的访问控制。
  • 装饰者里持有的是被装饰者的接口类型,所以可以装饰所有实现同一接口的类;代理类是针对某一个具体的类进行代理,所以对每一个类都要实现一个对应的代理类,这是静态代理模式的局限,可以使用动态代理模式来弥补。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高性能网站建设指南(第二版)

高性能网站建设指南(第二版)

Steve Souders / 刘彦博 / 电子工业出版社 / 2015-5 / 55.00元

《高性能网站建设指南:前端工程师技能精髓》结合Web 2.0以来Web开发领域的最新形势和特点,介绍了网站性能问题的现状、产生的原因,以及改善或解决性能问题的原则、技术技巧和最佳实践。重点关注网页的行为特征,阐释优化Ajax、CSS、JavaScript、Flash和图片处理等要素的技术,全面涵盖浏览器端性能问题的方方面面。在《高性能网站建设指南:前端工程师技能精髓》中,作者给出了14条具体的优化......一起来看看 《高性能网站建设指南(第二版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具