Java适配器模式(adapter)

简介: 文章目录 适配器模式 什么是适配器模式 模式中的角色 适配器的实现方式 1.类适配器方式 2.对象适配器方式 工作中的场景


文章目录

   适配器模式

       什么是适配器模式

       模式中的角色

       适配器的实现方式

           1.类适配器方式

           2.对象适配器方式

       工作中的场景

 本文介绍下java设计模式中的适配器模式

适配器模式

什么是适配器模式

 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。

模式中的角色

   目标接口(Target):客户所期待的接口。目标可以是具体的或抽象

   的类,也可以是接口。

   需要适配的类(Adaptee):需要适配的类或适配者类。

   适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成

   目标接口

适配器的实现方式

image.png

1.类适配器方式

被适配的类

/**
 * 被适配的类
 * (相当于例子中的,PS/2键盘)
 * @author Administrator
 *
 */
public class Adaptee {
  public void request(){
    System.out.println("可以完成客户请求的需要的功能....");
  }
}

目标类

/**
 * 定义适配器的功能  目标类
 * @author dengp
 *
 */
public interface Target {
  /**
   * 处理请求的方法
   */
  void handleReq();
}

适配器类

/**
 * 适配器 (类适配器方式)
 * (相当于usb和ps/2的转接器)
 * @author 波波烤鸭
 *
 */
public class Adapter extends Adaptee implements Target {
  @Override
  public void handleReq() {
    super.request();
  }
}

测试

public static void main(String[] args) {
  Client  c = new Client();
  Target t = new Adapter();
  t.handleReq();
}

2.对象适配器方式

适配器类

/**
 * 适配器 (对象适配器方式,使用了组合的方式跟被适配对象整合)
 * (相当于usb和ps/2的转接器)
 * @author 波波烤鸭
 *
 */
public class Adapter2  implements Target {
  private Adaptee adaptee;
  @Override
  public void handleReq() {
    adaptee.request();
  }
  public Adapter2(Adaptee adaptee) {
    super();
    this.adaptee = adaptee;
  }
}

测试

public static void main(String[] args) {
  Adaptee a = new Adaptee();
  Target t = new Adapter2(a);
  t.handleReq();
}

工作中的场景

   经常用来做旧系统改造和升级

   如果我们的系统开发之后再也不需要维护,那么很多模式都是没必要的,但是不幸的是,事实却是维护一个系统的代价往往是开发一个系统的数倍。

JavaSE中使用到适配器模式的场景

   java.io.InputStreamReader(InputStream)

   java.io.OutputStreamWriter(OutputStream)

~适配模式比较简单,就介绍到这儿了


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