适配器模式
参考:适配器模式 | 代码酷
是什么
适配器模式(Adapter Pattern)是一种结构型模式:把不兼容的接口转成调用方期望的形状,让旧代码、第三方库能在不改动原实现的前提下接入新系统。
在 React 里常见于:封装第三方组件 API、统一日期/请求/日志等工具层接口。
工作原理
- 目标接口:应用内约定的方法签名(如
log(msg: string))。 - 被适配者:第三方或遗留代码的实际 API(如
logMessage(msg))。 - 适配器:实现目标接口,内部转调被适配者。
示例:日志接口统一
ts
class LegacyLogger {
logMessage(message: string) {
console.log(`Legacy: ${message}`);
}
}
interface ModernLogger {
log(message: string): void;
}
class LegacyLoggerAdapter implements ModernLogger {
constructor(private legacy: LegacyLogger) {}
log(message: string) {
this.legacy.logMessage(message);
}
}React 场景
- 第三方 UI:把 props 形态不同的库包一层薄组件,对外只暴露本项目的
ButtonProps。 - 数据层:后端字段名与前端模型不一致时,在
mapApiToModel中做适配,而不是在业务组件里到处写兼容代码。
与相似模式
- 适配器:事后对接,解决「已有接口不一致」。
- 桥接:设计阶段分离抽象与实现,扩展维度不同。