适配器模式属于结构型设计模式,捕捉对象之间的不匹配,将它们放入一个适配器对象中,使它们可以进行协同工作。在软件系统中,当需要使用一个拥有不兼容接口的类时,适配器模式就会发挥其作用。适配器模式通常分为类适配器和对象适配器两种形式。
类适配器:
类适配器将源对象适配后,将它的接口和目标对象的接口进行匹配。它通过继承源对象和实现目标对象的接口,来使得两个原本不兼容的对象进行协作。类适配器类图如下所示:

在上图中,对象 Adapter 继承自 Source 类,并实现了 Target 接口。使用 Adapter 就可以将 Source 转换为 Target 类,从而将两个不兼容的类进行了适配,使它们可以进行协作。
对象适配器:
对象适配器将源对象适配后,将源对象的接口传递给目标对象。对象适配器通过组合源对象和实现目标对象的接口,来使得两个原本不兼容的对象进行协作。对象适配器类图如下所示:

在上图中,对象 Adapter 组合了 Source 类,并实现了 Target 接口。因此,使用 Adapter 就可以将 Source 转换为 Target 类,从而将两个不兼容的类进行了适配,使它们可以进行协作。
适配器模式应用场景:
1. 系统需要使用一些现有类,而这些类的接口不符合系统的要求。
2. 想要创建一个可复用的类,该类可以与多个不兼容的类协作。
3. 对象或类库不得修改或重新设计,但需要协同使用。
总结:
适配器模式是一种优秀的设计模式,可以解决不兼容的问题。适配器模式有两种形式:类适配器和对象适配器。适配器模式可以应用于多个场景,包括在系统使用现有类时,与多个不兼容的类协作以及使用对象或类库不得修改或重新设计的情况。
扫码咨询 领取资料