装饰者和适配器模式都是包装模式(Wrapper Pattern),装饰者也是一种特殊的代理模式。

  装饰者模式 适配器模式
形式 是一种非常特别的适配器模式 没有层级关系,装饰器模式有层级关系
定义

装饰者和被装饰者都实现同一个接口,主要目的是为了扩展之后依旧

保留OOP 关系

适配器和被适配者没有必然的联系,通常是

采用继承或代理的形式进行包装

关系 满足is-a 的关系 满足has-a 的关系
功能 注重覆盖、扩展 注重兼容、转换
设计 前置考虑 后置考虑

装饰者模式和适配器模式对比相关推荐

  1. java-IO流(5)-IO流中的设计模式(装饰器模式和适配器模式)的介绍

    目录 1装饰器模式 1.1定义 1.2代码实现 1.3装饰器特点 1.4装饰器在IO流中的使用 2配适器模式 2.1Adapter适配器 2.2代码实例 2.3适配器特点 2.4适配器优缺点 2.5适 ...

  2. 【设计模式系列】5.装饰器模式和适配器模式

    目录 一.装饰器模式 二.适配器模式 1.类适配器 2.对象适配器 3.适配器模式的优缺点 一.装饰器模式 特点: 在不改变一个对象本身功能的基础上给对象增加新的功能,即功能增强: 如Java IO中 ...

  3. 装饰器模式和适配器模式

    装饰器模式 装饰器模式(Decorator )允许向一个现有的对象添加新的增强功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装. 一般的,我们为了扩展一个类经常使 ...

  4. Java进阶专题(八) 设计模式之适配器模式、装饰者模式、观察者模式

    本章节将介绍:三个设计模式,适配器模式.装饰者模式和观察者模式.通过学习适配器模式,可以优雅的解决代码功能的兼容问题.另外有重构需求的人群一定需要掌握装饰者模式.本章节参考资料书籍<Spring ...

  5. Spring源码学习笔记:经典设计模式之装饰者模式

    1.博客内容均出自于咕泡学院架构师第三期 2.架构师系列内容:架构师学习笔记(持续更新) 0.装饰者模式(Decorator Pattern) 指在不改变原有对象的基础之上,将功能附加到对象上,提供了 ...

  6. 【设计模式】装饰者模式 ( 概念 | 适用场景 | 优缺点 | 与继承对比 | 定义流程 | 运行机制 | 案例分析 )

    文章目录 I . 装饰者模式概念 II . 装饰者模式适用场景 III . 装饰者模式优缺点 IV . 装饰者模式与继承对比 V . 装饰者模式相关设计模式 VI . 装饰者模式四个相关类 VII . ...

  7. JavaScript设计模式(三):结构型设计模式-外观模式、适配器模式、代理模式、装饰者模式、桥接模式、组合模式、享元模式

    JavaScript设计模式 - 结构型设计模式 套餐服务-外观模式 外观模式(Facade) 水管弯弯-适配器模式 适配器模式(Adapter) 适配异类框架 参数适配 牛郎织女-代理模式 代理模式 ...

  8. 装饰者模式源码解析(spring-session mybatis jdk servlet)

    那在JDK中体现最明显的,就是JAVA IO方面的一些类,那在JAVA IO中,我们为了增加缓存,我们使用BufferedReader,那现在我们来看一下,那因为增加缓存的功能,类有很多,子类也就需要 ...

  9. 装饰器模式与java.io包

    为什么80%的码农都做不了架构师?>>>    Decorator设计模式是典型的结构型模式(在GOF的那本模式的Bible中将模式分为:1.创建型模式:2.结构型模式:3.行为模式 ...

最新文章

  1. c语言加减乘除算术程序,求一个计算加减乘除的C语言程序
  2. CSS学习笔记(二) ----盒子模型
  3. Redis 作为缓存服务器的配置
  4. C++ Primer 5th笔记(7)chapter7 类:字面值常量类
  5. 新技术让SAP HANA向“通用”平台迈进
  6. 【快乐水题】1816. 截断句子
  7. 【读书笔记】 网页关闭确认框
  8. Java使用Redis实现分布式锁来防止重复提交问题
  9. Iaas,Paas,Saas三者的区别联系是什么?
  10. ASP从HTML标签中提取中文
  11. 前端:JS/25/DOM官方定义,DOM分类,HTML节点树(节点关系,节点类型,),核心DOM中公共的属性和方法(节点访问,查找DOM节点,节点属性,节点的创建,追加和删除)
  12. 这样的书 我改怎么起名呢?
  13. 手机修改ntp服务器地址,手机修改ntp服务器ip地址
  14. threejs道路贴图动画
  15. 人大与加拿大女王大学金融硕士在短学制中成就别样的人生
  16. 兰大计算机考研经验,兰州大学电子与通信工程考研经验分享
  17. zzzfun、age、omofun常见动漫下载问题汇总
  18. 八数码问题的三种解决方式,其一:宽度优先搜索
  19. 忙里偷闲第三弹:开发成绩查询微信公众号
  20. NTP for Linux

热门文章

  1. 最常见的208道Java最新面试题及答案(一)
  2. Java程序员大神给初学者的学习方法路线建议
  3. 练习三十七:对获取数据进行排序
  4. 上机考试系统 commons-fileupload 上传与下载 压缩为 zip 文件 删除文件夹下所有内容...
  5. DialogFragment 将数据传回Activity的onActivityResult方法
  6. 让我们来了解一下:操作系统和平台相关性
  7. python开发Day05(计算器代码)
  8. hdu 5071 Chat(模拟|Splay)
  9. 手机模拟位置实现精准位置营销效果分析
  10. Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget(转)