设计模式-适配器模式
【摘要】 适配器模式
USB网线转换器
要被适配的类–网线
public class Adaptee{ public void request(){ // 返回上网 }
}
12345
转接头口USB–接口
public interface NetToUSB{ // 接口转换器的抽象实现 // 作用:处理请求 public void handleRequest();
...
适配器模式
USB网线转换器
要被适配的类–网线
public class Adaptee{ public void request(){ // 返回上网 }
}
- 1
- 2
- 3
- 4
- 5
转接头口USB–接口
public interface NetToUSB{ // 接口转换器的抽象实现 // 作用:处理请求 public void handleRequest();
}
- 1
- 2
- 3
- 4
- 5
转接头–实现类–真正的适配器
- 继承,类适配器模式
// 使用USB,连接网线
public class Adapter extends Adaptee implements NetToUSB{ @override public void handleRequest(){ super.request(); // 可以上网,使用接口实现类处理上网请求。 }
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
2.组合(对象适配器)
// 使用USB,连接网线
public class Adapter1 implements NetToUSB{ private Adaptee adaptee; public Adapter1(Adaptee adaptee){ this.adaptee = adaptee; // 可以给自定义的对象使用,热拔插式 } @override public void handleRequest(){ adaptee.request(); // 可以上网,使用接口实现类处理上网请求。 }
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
应用:
- 存在一个与现在系统不匹配的必需类。旧系统升级
- 转换流:InputStreamReader
- 输入输出字节,字符流
- GUI,Springboot
文章来源: blog.csdn.net,作者:αβγθ,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_38022166/article/details/116496211
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)