代理模式 vs 适配器模式

代理模式 vs 适配器模式(面试极简版,一面高频)

核心一句话区分:适配器是「改接口、做兼容」;代理是「加控制、做增强」

一、核心定义&目的

1. 适配器模式(Adapter)

  • 作用:转换接口 ,让两个接口不匹配的类正常协作
  • 场景:老接口/第三方接口、格式不一样,我要"转一下"才能用
  • 关键词:兼容、转换、适配、接口不一致

2. 代理模式(Proxy)

  • 作用:控制访问、增强功能,不修改原类代码,在调用前后加逻辑
  • 场景:权限、日志、缓存、延迟加载、远程调用、事务
  • 关键词:控制、拦截、增强、代理访问、功能附加

二、直观例子(好记)

适配器

手机Type-C 耳机,插老式3.5mm圆孔 → 用转接头

两个接口不一样,转接口才能用 = 适配器

代理

你找明星办事,不直接联系本人,先找经纪人

经纪人帮你拦截、安排、传话、控节奏 = 代理


三、关键区别(面试直接背)

  1. 意图不同

    • 适配器:解决接口不兼容,让异类接口统一
    • 代理:控制/增强目标对象行为,接口完全不变
  2. 接口是否一致

    • 适配器:目标接口和原接口不同,要做转换
    • 代理:代理类和被代理类接口完全一致,对外透明
  3. 使用时机

    • 适配器:已有类、接口不匹配,事后补救兼容
    • 代理:主动设计,前置做访问控制/功能增强

四、Java 常见落地(面试加分)

适配器

  • IO 流:InputStreamReader(字节流→字符流)
  • 老系统接口改造、第三方SDK接口适配

代理

  • 静态代理、JDK动态代理(接口代理)、CGLIB代理
  • Spring AOP、MyBatis Mapper代理、延迟加载、权限校验

五、一句话面试标准答案(直接口述)

适配器模式主要用来转换不兼容的接口,解决接口匹配问题;代理模式接口保持一致,主要用来对目标对象做访问控制、功能增强,比如日志、权限、缓存等。

相关推荐
AI_Cloud_推荐4 天前
DeepSeek-V4-Pro 的 4.5 和 12:不是加价,是同名不同版本
阿里云·语言模型·代理模式·ai编程·百度云
yuehuaxin017 天前
LS8011C 快充协议芯片|SOT‑23‑6L 内置 431,PD3.2 SPR/PPS 适配器物料备选评估调试笔记
笔记·智能家居·适配器模式·智能硬件
yuehuaxin017 天前
LP3717BSL 芯茂微|SOP8L 自供电 PSR,SEL 电阻调峰值电流,12W 充电器物料替代评估笔记
嵌入式硬件·适配器模式·智能硬件
缓慢更新7 天前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
devilnumber8 天前
Java 代理模式(简单理解回顾)
java·开发语言·代理模式
博风10 天前
8、设计模式应用举例:适配器模式:Iterator接口与Enumeration接口
设计模式·适配器模式
驭渊的小故事10 天前
软件工程概念篇:需求、开发模型与测试模型全解析
人工智能·代理模式
king135987455010 天前
Gemini 4 Argon API 接入与迁移:模型参数、Token 价格和 Agent 测试方案
大模型·代理模式·ai agent·gemini
范中勤13 天前
适配器模式(Adapter Pattern):原理、场景与 LLM 多厂商工程落地
设计模式·架构·langchain·适配器模式·多厂商
yuehuaxin0113 天前
上海贝岭 BL6523GX(D78) 单相计量芯片开发笔记:引脚定义、寄存器配置与校表流程
嵌入式硬件·智能家居·适配器模式·智能硬件