当前位置:   article > 正文

23种设计模式:适配器模式(最强解析!!!)

适配器模式

适配器模式是23种设计模式之一。

 

适配器模式作用

适配器模式的作用,在于将一个类的接口变换为客户端所期待的另一种接口,使得原本因为接口不匹配而无法一起工作的两个类能在一起工作。

也就是说,适配器模式解决的是接口兼容性问题。

适配器模式实现方式

适配器模式依据实现方式的不同,可以划分为3种:类适配器、对象适配器和接口适配器。

(一)类适配器

类适配器类图如下:

 类适配器主要由三部分构成:

  • Target:目标角色,也即被转换后的接口;
  • Adaptee:源角色,需要被转换的接口;
  • Adapter:适配器,负责将Adaptee转换为Target。

使用示例如下:(假定TypeC接口输出的数据格式就是TypeC格式,可能不是,只是为了说明如何使用)

  1. public interface VgaFormatMessage { // target,投影仪直接使用VGA来获得数据的,需要Vga格式的数据
  2. public String getVgaFormat();
  3. }
  4. public class TypeCFormatMessage { // Adaptee:手机输出的TypeC格式的数据
  5. public String typecFormat() {
  6. return "typeC格式的数据";
  7. }
  8. }
  9. public class TypeCtoVgaFormatMessageAdapter extends TypeCFormatMessage implements VgaFormatMessage{
  10. // Adapter:将TypeC格式的数据转换为VGA格式的数据
  11. @Override
  12. public String getVgaFormat() {
  13. String typeCFormatMessage = super.typecFormat();//获得TypeC格式的数据
  14. String vgaFormatMessage = "转换成VGA格式数据:" + typeCFormatMessage;//将TypeC格式的数据转换为VGA格式数据
  15. return vgaFormatMessage;
  16. }
  17. }
  18. //适配器的作用到上面其实就已经结束了,下面只是使用,main方法中是测试
  19. public class Projector {
  20. public void getVgaFormatMessage(VgaFormatMessage vgaFormatMessage) {
  21. String message = vgaFormatMessage.getVgaFormat();
  22. System.out.println(message);
  23. }
  24. //测试
  25. public static void main(String[] args) {
  26. Projector projector = new Projector();
  27. projector.getVgaFormatMessage(new TypeCtoVgaFormatMessageAdapter());
  28. }
  29. }

(二)对象适配器

待更~

(三)接口适配器

待更~

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号