在软件开发的世界里,设计模式如同一本精妙的编码诗集,已经成为一种标准的编程实践。在Java编程中,设计模式很重要。是软件开发中广泛应用的一种编程方法,它可以帮助开发人员更快地编写出高效、可靠和可维护的代码。 本人将制作一个关于Java设计模式的系列文章,总共23种设计模式将以一篇一篇文章讲解,代码笔记已开源:Gitee点击跳转。在上一篇《Java设计模式(4)原型模式》文章中,我们介绍了原型模式。本文是这个系列的第五篇章,我们将讲解一下适配器模式的实现方式、应用场景以及它的用途。
适配器模式是一种结构型设计模式,它允许现有的接口与客户端的期望接口不匹配时协同工作。适配器模式允许一个类别的接口转化为另一个接口,从而使得原本由于接口不匹配而无法一起工作的类能够协同工作。
创建一个目标接口 Target
/**
* 目标接口
* @author Jensen
* @date 2024-01-18
* */
public interface Target {
void request();
}
再创建一个不兼容的适配者 Adaptee
/**
* 适配者
* @author Jensen
* @date 2024-01-18
* */
public class Adaptee {
public void getTalk(){
System.out.println("谈话的内容");
}
}
我们需要创建一个适配器 Adapter
来让它们能够一起工作。适配器实现了目标接口 Target
,并在构造函数中接受一个适配者对象 Adaptee
,然后在实现目标接口的 request
方法中调用适配者的 request
方法。
/**
* 适配器
* @author Jensen
* @date 2024-01-18
* */
public class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
adaptee.getTalk();
}
}
测试使用
System.out.println("------------------------------适配器模式-----------------------------");
Adapter adapter = new Adapter(new Adaptee());
adapter.request();
Adapter2 adapter2 = new Adapter2(new Adaptee2());
adapter2.request();
输出
Java IO
流就是一个常见的适配器模式的例子。它提供了一组标准的接口来访问各种类型的数据源,包括文件、网络连接、内存等等。每个数据源都有自己的接口,但是 Java IO
流可以将这些不同的接口转换为标准的接口,从而提供一致的访问方式。