设计模式——适配器模式
介绍
适配器模式作为两个不兼容接口之间的桥梁。
意图
将一个类的接口转换成客户希望的另一个接口。适配器可以使不相兼容的接口一起工作。
解决
接口不兼容
优点
- 可以使两个没有关联的类一起运行;
- 提高了类的复用
缺点
- 过多的使用适配器会使系统非常凌乱;
使用场景
- 中国三角插头在台湾不能使用(只有两脚的插线板);
- 在Windows上运行Linux系统(程序)。
UML
示例
ChinesePlug.java
package cn.geoaryblog.design.cretedg.adapter;
public class ChinesePlug {
public String use(){
return "中国——电脑插头——三角插头";
}
}
TaiwanSocket.java
package cn.geoaryblog.design.cretedg.adapter;
public interface TaiwanSocket {
String power();
}
Adaper2Taiwan.java
package cn.geoaryblog.design.cretedg.adapter;
public class Adaper2Taiwan extends ChinesePlug implements TaiwanSocket{
@Override
public String power() {
String dl = this.use();
// 进行转换后成为可使用的
String cover = dl;
return "成功转换\n原始插头是:"+cover;
}
}
Client.java
package cn.geoaryblog.design.cretedg.adapter;
public class Client {
public static void main(String[] args) {
TaiwanSocket taiwanSocket = new Adaper2Taiwan();
System.out.println(taiwanSocket.power());
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~