适配器模式

概述

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

适配器模式的结构

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

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

目标(Target)

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

被适配者(Adaptee)

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

适配器(Adapter)

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

适配器的适配程度

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

完全适配

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

不完全适配

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

剩余适配

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

适配器模式的优点

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

适合适配器模式的情景

  • 一个程序想使用已经存在的类,但该类所实现的接口和当前程序所使用的接口不一致。

你可能感兴趣的:(适配器模式)