设计模式之适配器模式

简介: 本篇文章是设计模式专题的第八篇文章,我会将遇到的设计模式都一一总结在该专题下,我会把自己对每一种设计模式的感悟写下来,以及在实际工作中我们该如何去灵活应用这些设计模式,欢迎大家关注。本篇文章我们就来讲一讲适配器模式。

适配器模式的简单介绍

适配器模式是为解决两个对象因接口不兼容而无法一起工作而诞生的。

就像生活中的转接头,将本来不能使用的接口进行转接处理,就可以使用了。

适配器模式的类图:

image.png

适配器模式的各个角色(我们以typeC接口手机使用3.5mm耳机为例):

  • 目标对象(Target) 目标对象就是系统所需要的的对象,这里我们可以看做是typeC接口
  • 适配器(Adapter) 适配器相当于转接线
  • 适配者(Adaptee) 适配者相当于3.5mm耳机接口

适配器模式扩展,双向适配

image.png

适配器模式的具体实现思路

  • 创建目标接口
  • 创建需要适配的接口
  • 创建实现目标接口的适配器

适配器模式的具体实现方案

//目标接口
public interface Target {
    public void request();
}
//适配者接口
public class Adaptee {
    
    public void specificRequest(){       
        // 适配者的处理
    }
}
//类适配器类
public class Adapter implements Target {
    
    private Adaptee adaptee;
    
    public Adapter(Adaptee adaptee){
        this.adaptee = adaptee;
    }
    
    public void request(){
        this.adaptee.specificRequest();
    }
}

适配器模式的优缺点

优点

  • 可以有效的复用现有的类,开发者不需要修改原有代码只需要通过适配器兼容即可。
  • 客户端通过适配器可以透明地调用目标接口。
  • 将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题。
  • 符合开闭原则。
  • 灵活性高。

缺点

  • 适配器需要结合业务场景全面考虑,可能会增加系统的复杂性。
  • 降低代码可读性,过多使用适配器会使代码变得很乱。

适配器模式的适用场景

  1. 以前开发的系统存在满足新系统功能需求的类,但其接口同新系统的接口不一致。
  2. 使用第三方提供的组件,但其组件接口定义和自己需要的接口定义不同。

适配器模式总结

适配器模式最大的优点就是代码的复用,满足业务逻辑的代码有一份就可以了,我们只需要通过适配器就能让其满足其它系统的调用。但是正由于适配器的这一大特性,如果过多的使用适配器去满足不同接口,就会使我们的代码变得混乱,不易阅读。大家使用适配器模式还是要慎重,小用宜情,大用伤身啊。

目录
相关文章
|
5月前
|
设计模式 Java API
重构旧代码的秘诀:用设计模式 - 适配器模式(Adapter)给Java项目带来新生
【4月更文挑战第7天】适配器模式是解决接口不兼容问题的结构型设计模式,通过引入适配器类实现目标接口并持有不兼容类引用,实现旧代码与新接口的协作。适用于处理兼容性问题、整合遗留代码和集成第三方库。应用时,识别不兼容接口,创建适配器类转换方法调用,然后替换原有引用。注意保持适配器简单、使用组合和考虑扩展性。过度使用可能导致系统复杂和维护成本增加,应谨慎使用。
94 4
|
5月前
|
设计模式 Java 中间件
23种设计模式,适配器模式的概念优缺点以及JAVA代码举例
【4月更文挑战第6天】适配器模式(Adapter Pattern)是一种结构型设计模式,它的主要目标是让原本由于接口不匹配而不能一起工作的类可以一起工作。适配器模式主要有两种形式:类适配器和对象适配器。类适配器模式通过继承来实现适配,而对象适配器模式则通过组合来实现
96 4
|
1月前
|
设计模式 Java 程序员
Java设计模式-适配器模式(8)
Java设计模式-适配器模式(8)
|
16天前
|
设计模式 Java
Java设计模式之适配器模式
这篇文章详细讲解了Java设计模式中的适配器模式,包括其应用场景、实现方式及代码示例。
32 0
|
5月前
|
设计模式 Java
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
【设计模式】JAVA Design Patterns——Adapter(适配器模式)
|
1月前
|
设计模式 Java
设计模式--适配器模式 Adapter Pattern
这篇文章介绍了适配器模式,包括其基本介绍、工作原理以及类适配器模式、对象适配器模式和接口适配器模式三种实现方式。
|
2月前
|
设计模式 XML 存储
【六】设计模式~~~结构型模式~~~适配器模式(Java)
文章详细介绍了适配器模式(Adapter Pattern),这是一种结构型设计模式,用于将一个类的接口转换成客户期望的另一个接口,使原本不兼容的接口能够一起工作,提高了类的复用性和系统的灵活性。通过对象适配器和类适配器两种实现方式,展示了适配器模式的代码应用,并讨论了其优点、缺点以及适用场景。
|
4月前
|
设计模式
适配器模式-大话设计模式
适配器模式-大话设计模式
|
3月前
|
设计模式 Go 数据处理
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
iLogtail设计模式问题之在iLogtail中,为何需要使用适配器模式
|
3月前
|
设计模式 JavaScript 前端开发
js设计模式【详解】—— 适配器模式
js设计模式【详解】—— 适配器模式
28 0