适配器模式

将类的接口转换为客户期望的另一个接口,适配器可以让不兼容的两个类一起协同工作。实现适配器有两种基本形式:

  • 类适配器,使用继承关系实现

  • 对象适配器,使用组合关系实现(常用)

图 1 图 2

使用场景:

  • 统一多个类的接口设计时,某个功能的实现依赖多个外部系统(或者说类)。通过适配器模式,将它们的接口适配为统一的接口定义

  • 需要依赖外部系统时,当我们把项目中依赖的一个外部系统替换为另一个外部系统的时候,利用适配器模式,可以减少对代码的改动

  • 原有接口无法修改时或者原有接口功能太老旧但又需要兼容;比如JDK1.0 Enumeration 到 Iterator 的替换,适用适配器模式保留 Enumeration 类,并将其实现替换为直接调用 Itertor.

  • 适配不同数据格式时;Slf4j 日志框架,定义打印日志的统一接口,提供针对不同日志框架的适配器

Java代码实现 SDK适配器

类适配器,如下图:

图 4

如果是对象适配器:

最后更新于

这有帮助吗?