设计模式系列之七适配器模式

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

  对于适配器模式,实际上就是一个转接口的概念。比如iphone7的耳塞必须通过转接才能适配,比如水货笔记本的插头必须通过一个转接口才能适配国内的插座等。下面通过代码来具体认识一下适配器模式。

原始接口

1
2
3
4
5
//原始接口
public interface OldInterface {
//原始方法
public void oldWay();
}
1
2
3
4
5
6
7
8
public class OldWay implements OldInterface{
@Override
public void oldWay() {
// TODO Auto-generated method stub
System.out.println("This is old way.");
}
}

新接口

1
2
3
4
5
//目前的新接口
public interface NewInterface {
//以新方法去干一件事情
public void newWay();
}

使用适配器适配原始接口

1
2
3
4
5
6
7
8
9
10
11
12
//通过适配器,使用新接口去调用老接口的方法
public class Adapter implements NewInterface{
OldInterface old;
public Adapter(OldInterface old){
this.old = old;
}
@Override
public void newWay() {
// TODO Auto-generated method stub
old.oldWay();
}
}

测试

1
2
3
4
5
6
7
8
9
public class Test {
public static void main(String[] args) {
OldWay old = new OldWay();
//通过适配,使用新接口去调用老接口
Adapter adapter = new Adapter(old);
//打印:This is old way.
adapter.newWay();
}
}

  通过上述代码,可以很清晰的理解适配器模式的核心思想。适配器模式大量存在与新旧代码兼容,以及如今的前后端分离中的数据接口对接部分。

上一篇:设计模式系列之六命令模式
下一篇:设计模式系列之八外观模式

留言

欢迎交流想法。留言会通过 GitHub Issues 保存,首次使用需要登录 GitHub。