当前位置: 首页 > news >正文

网站建设开题报告网站建站工具有哪些

网站建设开题报告,网站建站工具有哪些,手机免费网站,做网站要考虑什么Java 适配器模式(Adapter Pattern)详解 🔌 什么是适配器模式? 适配器模式用于将一个类的接口转换成客户端所期望的另一种接口,让原本接口不兼容的类可以协同工作。 📦 就像插头转换器,让不同…

Java 适配器模式(Adapter Pattern)详解

🔌 什么是适配器模式?

适配器模式用于将一个类的接口转换成客户端所期望的另一种接口,让原本接口不兼容的类可以协同工作。

📦 就像插头转换器,让不同国家的插座和电器匹配。


🧠 使用场景

  • 系统中有现成的类,但接口不符合需求
  • 想复用老代码,但不想改动它
  • 接口适配第三方库或遗留系统

🏗️ 模式结构

  • Target(目标接口):客户端期望的接口
  • Adaptee(被适配者):已有的接口
  • Adapter(适配器):将 Adaptee 转换为 Target

✅ 示例:USB 转 Type-C 适配器

目标接口(TypeC)

public interface TypeC {void chargeWithTypeC();
}

被适配者(老版 USB)

public class USBCharger {public void chargeWithUSB() {System.out.println("使用 USB 接口充电");}
}

适配器类(类适配器方式,使用继承)

public class USBToTypeCAdapter extends USBCharger implements TypeC {@Overridepublic void chargeWithTypeC() {System.out.println("适配器转换 Type-C -> USB");chargeWithUSB(); // 实际还是调用 USB}
}

客户端调用

public class Main {public static void main(String[] args) {TypeC charger = new USBToTypeCAdapter();charger.chargeWithTypeC();}
}

🔄 另一种方式:对象适配器(使用组合)

public class USBToTypeCObjectAdapter implements TypeC {private USBCharger usbCharger;public USBToTypeCObjectAdapter(USBCharger usbCharger) {this.usbCharger = usbCharger;}@Overridepublic void chargeWithTypeC() {System.out.println("对象适配器:Type-C -> USB");usbCharger.chargeWithUSB();}
}

🧩 优点

  • 解耦客户端与具体实现类
  • 提高复用性(复用旧类)
  • 灵活性强:支持类适配或对象适配

⚠️ 缺点

  • 增加系统复杂性
  • 过多使用会导致系统中充斥着适配器,降低可读性

✅ 使用建议

适配器模式适用于以下场景:

  • 接口不兼容但需复用旧类
  • 调整不同模块或库之间的协作接口
  • 系统升级过渡阶段,保留旧逻辑的同时支持新接口
http://www.dtcms.com/a/525513.html

相关文章:

  • 电话交换机软件3CX安全访问实践:屏蔽IP访问,仅允许域名访问
  • Linux系统中配置history命令显示时间、IP、账号和操作命令
  • springboot3 uuid 唯一标识入门与实战
  • P1041 [NOIP 2003 提高组] 传染病控制
  • 武进建设局网站和业务多一样的平台
  • eclipse可以做门户网站嘛公司建设网站的 计划书
  • Linux小课堂: 从IPv4到IPv6、主机名解析及网络接口管理
  • ant design vue使用date组件,判断要清空却失效的问题
  • 百度seo搜索百度推广优化技巧
  • 手机版网站建设方案福建建设工程信息网官网查询
  • 终结工艺数据分散管理:金仓数据库平替MongoDB,实现参数、配方、流程一体贯通
  • SAP 长文本弹窗函数 及控件使用
  • 常规同轴光源在工业视觉检测上的应用
  • 建设国家游戏网站免费创建音乐网站
  • 网站源码怎么做网站热点新闻事件及观点简单版
  • windows服务器mstsc远程桌面连接输入用户名后连接时自带拼接了本机计算机名称导致用户名一直错误,无法远程,使用.\用户名格式解决
  • 【Diffusion Model】奠基之作DDPM详解
  • 4a级景区网站建设方寸网站建设
  • 【图像超分】论文复现:轻量化超分 | SPAN的Pytorch源码复现,跑通源码进行训练、测试
  • 小红书小组件开发 最早踩坑版
  • 厚街外贸网站建设公司wordpress.org hosting
  • 现在网站用什么语言做最好WordPress整站下载器
  • 用最少数量的箭引爆气球--leetcode
  • Linux中网络初始化函数sock_init的实现
  • 数据结构——KMP算法
  • 湖北微网站建设报价我的手机网站
  • Spring集成WebSocket
  • MinerU系列最新迭代版本上线,专为高精度、高效率的文档解析任务设计;清华、字节联合推出HuMo,实现三模态协同生成人物视频
  • 什么是企业营销型网站seo公司优化排名
  • 洛阳有做网站开发的吗wordpress重构