Emove

  • 首页
  • 归档
  • 分类
  • 标签

  • 搜索
context 反射 channel LRU BeanDefinition JVM 装饰者模式 MyBatis 快慢指针 归并排序 链表 hash表 栈 回溯 贪心 主从复制 二分查找 双指针 动态规划 AOF RDB 规范 BASE理论 CAP B树 RocketMQ Sentinel Ribbon Eureka 命令模式 访问者模式 迭代器模式 中介者模式 备忘录模式 解释器模式 状态模式 策略模式 职责链模式 模板方法模式 代理模式 享元模式 桥接模式 外观模式 组合模式 适配器模式 建造者模式 原型模式 工场模式 单例 UML 锁 事务 sql 索引

适配器模式

发表于 2020-04-04 | 分类于 设计模式 | 20 | 阅读次数 176

适配器模式

基本介绍

  1. 适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主要目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。
  2. 适配器模式属于结构型模式
  3. 主要分为三类,类适配器模式,对象适配器模式,接口适配器模式

适配器模式的工作原理

  1. 适配器模式:将一个类的接口转成另外一种接口,让原本不兼容的接口和类可以兼容
  2. 从用户的角度看不到被适配者,是解耦的
  3. 用户调用适配器转化出来的目标接口方法,适配器再调用被适配者的相关接口方法
  4. 用户收到反馈结果,感觉只是和目标接口交互

适配器原理

类适配器

基本介绍

​ Adapter类,通过继承src类,实现dst类接口,完成src > dst的适配。

类适配器模式注意事项和细节

  1. Java是单继承机制,所以类适配器需要继承src类这一点算是一个缺点,因为这要求dst必须是接口,有一定的局限性
  2. src类的方法在Adapter中都会暴露出来,也增加了使用成本
  3. 由于其继承src类,所以它可以根据需求重写src类的对应方法,是的Adapter的灵活性增强

对象适配器

基本介绍

  1. 基本思路和类适配器模式相同,只是将Adapter类做修改,不是继承src类,而是持有src类的实例,以解决兼容性问题。
  2. 根据“合成复用原则”,在系统中尽量使用关联关系来替代继承关系
  3. 对象适配器模式是适配器模式中常用的一种

接口适配器模式

基本介绍

  1. 一些书籍称为:适配器模式或缺省适配器模式
  2. 当不需要全部实现接口提供的方法时,可先设计一个抽象类实现接口,并为该接口中每个方法提供默认实现(空方法),那么该抽象类的子类可有选择的覆盖父类的某些方法来实现需求
  3. 使用于一个接口不想使用其所有的方法的情况

适配器模式的注意事项和细节

  1. 三种命名方式,是根据src是以怎样的形式给到Adapter(在Adapter里的形式)来命名的

  2. 类适配器:在Adapter里,就是将src当做类(集成)

    对象适配器:在Adapter里,将src当做对象(持有)

    接口适配器:在Adapter里,将src作为接口(实现)

  3. Adapter模式最大的作用还是将原本不兼容的接口融合在一起工作

# context # 反射 # channel # LRU # BeanDefinition # JVM # 装饰者模式 # MyBatis # 快慢指针 # 归并排序 # 链表 # hash表 # 栈 # 回溯 # 贪心 # 主从复制 # 二分查找 # 双指针 # 动态规划 # AOF # RDB # 规范 # BASE理论 # CAP # B树 # RocketMQ # Sentinel # Ribbon # Eureka # 命令模式 # 访问者模式 # 迭代器模式 # 中介者模式 # 备忘录模式 # 解释器模式 # 状态模式 # 策略模式 # 职责链模式 # 模板方法模式 # 代理模式 # 享元模式 # 桥接模式 # 外观模式 # 组合模式 # 适配器模式 # 建造者模式 # 原型模式 # 工场模式 # 单例 # UML # 锁 # 事务 # sql # 索引
建造者模式
桥接模式
  • 文章目录
  •   |  
  • 概览
林亦庭

林亦庭

less can be more

87 文章
11 分类
54 标签
RSS
Github
Creative Commons
© 2021 林亦庭
粤ICP备20029050号