赞
踩
适配器模式是23种设计模式之一。
适配器模式作用
适配器模式的作用,在于将一个类的接口变换为客户端所期待的另一种接口,使得原本因为接口不匹配而无法一起工作的两个类能在一起工作。
也就是说,适配器模式解决的是接口兼容性问题。
适配器模式实现方式
适配器模式依据实现方式的不同,可以划分为3种:类适配器、对象适配器和接口适配器。
(一)类适配器
类适配器类图如下:
类适配器主要由三部分构成:
使用示例如下:(假定TypeC接口输出的数据格式就是TypeC格式,可能不是,只是为了说明如何使用)
- public interface VgaFormatMessage { // target,投影仪直接使用VGA来获得数据的,需要Vga格式的数据
- public String getVgaFormat();
- }
-
- public class TypeCFormatMessage { // Adaptee:手机输出的TypeC格式的数据
- public String typecFormat() {
- return "typeC格式的数据";
- }
- }
-
- public class TypeCtoVgaFormatMessageAdapter extends TypeCFormatMessage implements VgaFormatMessage{
- // Adapter:将TypeC格式的数据转换为VGA格式的数据
- @Override
- public String getVgaFormat() {
- String typeCFormatMessage = super.typecFormat();//获得TypeC格式的数据
- String vgaFormatMessage = "转换成VGA格式数据:" + typeCFormatMessage;//将TypeC格式的数据转换为VGA格式数据
- return vgaFormatMessage;
- }
- }
- //适配器的作用到上面其实就已经结束了,下面只是使用,main方法中是测试
- public class Projector {
- public void getVgaFormatMessage(VgaFormatMessage vgaFormatMessage) {
- String message = vgaFormatMessage.getVgaFormat();
- System.out.println(message);
- }
- //测试
- public static void main(String[] args) {
- Projector projector = new Projector();
- projector.getVgaFormatMessage(new TypeCtoVgaFormatMessageAdapter());
- }
- }

(二)对象适配器
待更~
(三)接口适配器
待更~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。