适配器模式
适配器模式是一种 结构型设计模式,它允许将一个类的接口转换成另一个兼容接口。它让原本不兼容的类可以一起工作,就像现实中的电源插座适配器一样。
核心思想
- 解决接口不兼容问题
- 复用已有类的功能
- 无需修改原有代码即可扩展功能
使用场景
场景 | 说明 |
---|---|
集成遗留系统 | 将旧系统的接口封装为新系统所需接口 |
整合第三方库 | 第三方 API 接口与当前系统不一致时进行适配 |
统一多数据源 | 多个数据源提供不同接口,通过适配器统一调用方式 |
渐进式重构 | 替换部分模块而不影响整个系统运行 |
示例
java
public interface PaymentProcessor {
void pay(BigDecimal amount);
}
java
public class WXPay {
void makePayment(BigDecimal amount, String currency) {
// 模拟微信支付逻辑
log.info("微信支付金额: {} 货币:{}", amount, currency);
}
}
java
public class WXPayAdapter implements PaymentProcessor {
private final WXPay wxPay;
public WXPayAdapter(WXPay wxPay) {
this.wxPay = wxPay;
}
@Override
public void pay(BigDecimal amount) {
// 调用微信支付的具体实现
wxPay.makePayment(amount, "CNY");
}
}