适配器模式适用于在已有固定的不能更改或者很难更改现有接口的情况下,对现有接口进行再次封装以适应新的需求的场合。该种模式在类库迁移方面用的很多。
适配器模式概述
适配器模式分为3个角色,用户需要的接口IA,原有类库提供服务的类B,适配器Adapter,适配器模式有两种实现方式:
1. 类实现方式:适配器Adapter继承服务类B并且实现接口IA,在Adapter类实现IA的接口方法中调用类B的服务来实现服务B到IA的迁移。
2. 对象实现方式:适配器Adapter包含一个类B的对象OB为其私有变量,实现接口IA,在其实现IA的接口方法中调用其私有变量OB的方法来实现服务B到IA的迁移。
上述两种方法都可以实现接口迁移和转变的目的,但是第一种实现方法直接使用类继承的方式,增加了和原来类库代码的耦合,不符合代码解耦的原则,因此使用第二种方式为较优选择。