【设计模式学习笔记】适配器模式

适配器模式

  • 解决的问题:
    将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作。
    可以用于补救设计上的缺陷。

  • 类适配器:
    使用继承关系实现
    适配器类继承自类并实现不兼容的接口,兼容的部分可以直接调用,不兼容的部分可以重写。
    adapter extens Class implements Interface{}

  • 对象适配器:
    使用组合关系实现
    适配器类实现不兼容的接口,将类依赖注入,然后实现接口内的方法。方法里可以调用依赖注入类的方法。每个接口和每个依赖注入的类都要重写(直接调用或者重写)
    adapter implements Interface{
    private Class class;
    public adapter(){
    this.class = class;
    }
    }

  • 应用场景

  1. 封装有缺陷的接口设计
    添加新的接口声明,基于新的接口声明将老的接口封装起来。

  2. 统一多个类的接口设计
    有多个相同功能的类时,创建一个新的接口,将这几个类都基于接口实现。然后统一调用接口。

  3. 替换依赖的外部系统
    新建一个适配器类继承自相同的接口,然后将新的外部系统依赖注入,在重写的方法里调用新的外部系统的方法。原来的调用代码无需改动。

  4. 兼容老版本接口
    将老版本接口里的实现替换为新的接口实现,不改变老版本的接口名和类名。

  5. 适配不同格式的数据

posted @ 2022-05-21 21:47  Shengjie  阅读(27)  评论(0编辑  收藏  举报