适配器模式的三种类型

适配器模式的三种类型(类适配器、对象适配器、接口适配器)的名字主要来源于它们的实现方式解决的问题。以下是它们的命名逻辑和记忆技巧:


1. 类适配器(Class Adapter)

名字由来:
  • “类”:通过继承被适配者类Adaptee)的方式实现适配。
  • 核心逻辑:适配器类继承被适配者类,并实现目标接口,直接复用父类(Adaptee)的方法。
记忆技巧:
  • 关键词:“类” → 继承(类的继承关系)。
  • 联想:类似“子类继承父类”,适配器是 Adaptee 的子类。
  • 口诀“类继承,直接拿来用”

2. 对象适配器(Object Adapter)

名字由来:
  • “对象”:通过组合对象(持有 Adaptee 的实例)的方式实现适配。
  • 核心逻辑:适配器类持有被适配者的对象(组合关系),在调用时委托给这个对象。
记忆技巧:
  • 关键词:“对象” → 组合(对象间的组合关系)。
  • 联想:类似“把工具装进工具箱”,适配器将 Adaptee 对象作为工具使用。
  • 口诀“对象组合,灵活又解耦”

3. 接口适配器(Interface Adapter)

名字由来:
  • “接口”:用于简化对复杂接口的适配(如接口中有多个方法,但只需部分实现)。
  • 别名:缺省适配器(Default Adapter),因为它为接口方法提供默认空实现。
  • 核心逻辑:通过抽象类为接口提供默认空实现,用户只需按需重写。
记忆技巧:
  • 关键词:“接口” → 简化接口(过滤不需要的方法)。
  • 联想:类似“万能插排”,只暴露需要的插孔。
  • 口诀“接口太多,抽象来兜底”

如何快速记忆?

1. 从名字关联实现方式
  • 类适配器 → 用类继承extends Adaptee)。
  • 对象适配器 → 用对象组合private Adaptee adaptee)。
  • 接口适配器 → 用抽象类过滤接口方法。
2. 场景联想
  • 类适配器:需要直接改造父类的功能(类似“魔改原生代码”)。
  • 对象适配器:需要外挂一个工具对象(类似“用转接头连接设备”)。
  • 接口适配器:需要屏蔽接口的复杂性(类似“只保留遥控器的常用按键”)。
3. 一句话总结
  • 类适配器:继承一个类,实现接口。
  • 对象适配器:组合一个对象,实现接口。
  • 接口适配器:抽象类实现接口,按需重写。

对比表格

类型实现方式适用场景关键区别
类适配器继承需要直接复用父类方法单继承限制,耦合度高
对象适配器组合需要适配多个类或解耦更灵活,推荐使用
接口适配器抽象类接口方法过多,需简化实现避免冗余代码,按需覆盖方法

通过名字中的关键词(类、对象、接口)和实现方式的关联,可以轻松记忆它们的区别和适用场景!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qzer_407

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值