适配器模式

概述

  • 适配器模式是将一个类的接口(被适配者)转换成客户希望的另一个接口(目标)的成熟模式,该模式中涉及有目标 、被适配者和适配器。
  • 适配器模式的关键是建立一个适配器,这个适配器实现了目标接口并包含有被适配者的引用。

适配器模式的结构

对象适配器模式的结构中包含三种角色。

  • 目标(Target)
  • 被适配者(Adaptee)
  • 适配器(Adapter)

目标(Target)

  • 目标是一个接口。
  • 该接口是客户想使用的接口。

被适配者(Adaptee)

  • 被适配者是一个已经存在的接口或抽象类,这个接口或抽象类需要适配。

适配器(Adapter)

  • 适配器是一个类。
  • 该类实现了目标接口并包含有被适配者的引用,即适配器的职责是对被适配者接口(抽象类)与目标接口进行适配。

适配器的适配程度

  • 完全适配
  • 不完全适配
  • 剩余适配

完全适配

  • 如果目标(Target)接口中的方法数目与适配者(Adaptee)接口的方法数目相等,那么适配器(Adapter)可将被适配者接口(抽象类)与目标接口进行完全适配。

不完全适配

  • 如果目标(Target)接口中的方法数目少于被适配者(Adaptee)接口的方法数目,那么适配器(Adapter)只能将被适配者接口(抽象类)与目标接口进行部分适配。

剩余适配

  • 如果目标(Target)接口中的方法数目大于被适配者(Adaptee)接口的方法数目,那么适配器(Adapter)可将被适配者接口(抽象类)与目标接口进行完全适配,但必须将目标多余的方法给出用户允许的默认实现。

适配器模式的优点

  • 目标(Target)和被适配者(Adaptee)是完全解耦的关系。
  • 适配器模式满足“开-闭原则”。
  • 当添加一个实现Adaptee接口的新类时,不必修改Adapter,Adapter就能对这个新类的实例进行适配。

适合适配器模式的情景

  • 一个程序想使用已经存在的类,但该类所实现的接口和当前程序所使用的接口不一致。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容