设计模式-适配器模式

【摘要】 适配器模式
USB网线转换器
要被适配的类–网线
public class Adaptee{ public void request(){ // 返回上网 }
}
12345
转接头口USB–接口
public interface NetToUSB{ // 接口转换器的抽象实现 // 作用:处理请求 public void handleRequest();

适配器模式

USB网线转换器
在这里插入图片描述

要被适配的类–网线

public class Adaptee{ public void request(){ // 返回上网 }
}

  
 

转接头口USB–接口

public interface NetToUSB{ // 接口转换器的抽象实现 // 作用:处理请求 public void handleRequest();
}

  
 

转接头–实现类–真正的适配器

  1. 继承,类适配器模式
// 使用USB,连接网线
public class Adapter extends Adaptee implements NetToUSB{ @override public void handleRequest(){ super.request();  // 可以上网,使用接口实现类处理上网请求。 }
}

  
 

2.组合(对象适配器)

// 使用USB,连接网线
public class Adapter1  implements NetToUSB{ private Adaptee adaptee; public Adapter1(Adaptee adaptee){ this.adaptee = adaptee;  // 可以给自定义的对象使用,热拔插式 } @override public void handleRequest(){ adaptee.request();  // 可以上网,使用接口实现类处理上网请求。 }
}

  
 

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XGZDQTXl-1620375461415)(E:\Markdown\JAVA\设计模式.assets\3-1Q1151046105A.gif)]

电脑类–客户端

public class Computer{ public void net(NetToUSB adapter){ // 上网找转接头连接网线 adapter.handleRequest(); }
}

 public static void main(String[] args){ Computer computer = new Computer(); //电脑 Adaptee adaptee = new Adaptee();  // 网线 // Adapter adapter = new Adapter();  // 转接器 Adapter1 adapter = new Adapter1(adaptee);  // 升级版转接器,传入自定义的网线 compute.net(adapter);
 }
  
 

应用:

  • 存在一个与现在系统不匹配的必需类。旧系统升级
  • 转换流:InputStreamReader
  • 输入输出字节,字符流
  • GUI,Springboot

文章来源: blog.csdn.net,作者:αβγθ,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_38022166/article/details/116496211

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享