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

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

 

适配器模式作用

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

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

适配器模式实现方式

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

(一)类适配器

类适配器类图如下:

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

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

使用示例如下:(假定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());
	}
}

(二)对象适配器

待更~

(三)接口适配器

待更~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的Coder*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值