设计模式之适配器模式

适配器模式简介

适配器模式是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。

实例模拟

家庭电源的电压是220V,但是我们的手机需要5V的充电电流,则此时就需要充电器来进行电压转换,这个充电器就是我们的适配器

创建一个家庭电源

1
2
3
4
5
6
7
8
/**
* 作者: 王霄
* 描述: 这是一个家庭电源
* 日期: 2018/11/12 17:32
*/
public interface DS220 {
public void creatDS220();
}

创建一个手机电源

1
2
3
4
5
6
7
8
9
10
/**
* @Author: WX
* @Description:这是一个只能产生5V电压的电源
* @Date: 2018/12/18 10:42
*/
public class DS5 {
public void creatDS220(){
System.out.println("产生5v电压");
}
}

构造一个适配器

1
2
3
4
5
6
7
8
9
10
11
12
/**
* 作者: 王霄
* 描述: 电压适配器
* 日期: 2018/11/12 17:35
*/
public class DSAdapter extends DS5 implements DS220{

@Override
public void creatDS220() {
super.creatDS220();
}
}

调用

1
2
3
4
5
6
public class Test {
public static void main(String[] args) {
DS220 d = new DSAdapter();
d.creatDS220();
}
}

结果如下

总结

优点

  1. 可以让任何两个没有关联的类一起运行。
  2. 提高了类的复用。
  3. 增加了类的透明度。
  4. 灵活性好。

缺点

  1. 过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是A接口,其实内部被适配成了B接口的实现,一个系统如果太多出现这种情况,无异于一场灾难。因此如果不是很有必要,可以不使用适配器,而是直接对系统进行重构。
  2. 由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。
文章目录
  1. 1. 适配器模式简介
  2. 2. 实例模拟
    1. 2.0.1. 创建一个家庭电源
    2. 2.0.2. 创建一个手机电源
    3. 2.0.3. 构造一个适配器
    4. 2.0.4. 调用
  • 3. 总结
    1. 3.0.1. 优点
    2. 3.0.2. 缺点
  • |