适配器 Adapter

发布时间 2023-12-21 08:54:44作者: 梅丹隆

一、定义

  • 讲一个类的接口转换成客户期望的另一个接口
  • 使原本接口不兼容的类可以一起工作

二、适用场景

  1. 已经存在的类,它的方法和需求不匹配时
    1. 方法结果相同或相似
  2. 不是软件设计阶段考虑的设计模式,是随着软件维护,由于不同产品,不同厂家造成功能类似而接口不相同情况下的解决方案

三、优缺点

1、优点

  • 能提高类的透明性和可复用性,现有的类复用但不需要改变
  • 目标类和适配器类解耦,提高程序扩展性
  • 符合开闭原则 OpenClose

2、缺点

  • 适配器编写过程需要全面考虑,可能会增加系统的复杂性
  • 增加系统代码可读的难度

四、代码实现

https://github.com/Meidanlong/all-in-one/tree/master/design/src/main/java/com/mdl/design/pattern/structural/adapter

image.png

  • ConcreteTarget 具体目标类