适配器模式 Adapter

一种结构型设计模式,它允许将不兼容的对象转换成可兼容的接口。主要目的是解决在不改变现有代码的情况下,使不兼容的接口之间能够正常工作,通过创建一个中间转换的适配器来将一个对象转换成我们所需要的接口。

场景: 当你原来的某个类或接口不想改动,就只想重用现有的代码;或者现有的某个第三方组件功能提供的输入输出格式和你想要的不匹配;还有就是当你想要适配不同平台或服务商。

**主要分为三类:**类的适配器模式、对象的适配器模式、接口的适配器模式。

优点:

  • 安全可靠:封装了旧接口,对客户端透明,客户端代码无需修改。
  • 提高复用性:可以复用不兼容的类;可以对不同的类无需修改,就可以进行组合。
  • 扩展性好:在应用程序开发过程中,可以增加新的适配器和被适配对象。

缺点:

  • 过多的适配器会导致系统结构复杂。
  • 如果适配器没有实现好,可能会拖慢整个系统的性能。
  • 滥用适配器模式会导致系统设计紊乱。

Reference

适配器设计模式(封装器模式) (refactoringguru.cn)

设计模式第9讲------适配器模式(Adapter)-CSDN博客

相关推荐
sindyra43 分钟前
享元模式(Flyweight Pattern)
java·开发语言·设计模式·享元模式·优缺点
这是程序猿44 分钟前
设计模式入门:Java 单例模式(Singleton)详解,从入门到实战
java·单例模式·设计模式
suixinm1 小时前
Agent 设计模式:从 ReAct、CodeAct 到 Agentic Rag 与多智能体
设计模式·ai·react·rag·ai agent·agent智能体·multi-agent
geovindu1 小时前
go: Registry Pattern
开发语言·后端·设计模式·golang·注册模式
05候补工程师1 小时前
【Python实战】告别杂乱脚本!基于SOLID原则与策略模式的 PDF转Word 批量处理系统
python·设计模式·pdf·word·策略模式
lsswear5 小时前
PHP 设计模式
设计模式·php
ximu_polaris10 小时前
设计模式(C++)-行为型模式-备忘录模式
c++·设计模式·备忘录模式
05候补工程师11 小时前
[实战复盘] 拒绝 AI 屎山!我从设计模式中学到的“调教”AI 新范式
人工智能·python·设计模式·ai·ai编程
sg_knight16 小时前
Python 设计模式:迭代器模式——用优雅的方式遍历一切
python·设计模式·迭代器模式
ximu_polaris21 小时前
设计模式(C++)-行为型模式-解释器模式
c++·设计模式·解释器模式