服务中有一些功能类(通常来自第三方遗留系统)。客户端与其不兼容,因此无法直接调用其功能。
适配器是一个可以同时和客户端与服务交互的类:它在实现客户端接口的同时封装了服务对象。适配器接受客户端通过适配器接口发起的调用,并将其转化为适用于被封装服务对象的调用。
客户端代码只需要通过接口与适配器交互即可,无需和具体的适配器类耦合。意味着可以新类型的适配器而无需修改已有的代码。这在服务类的接口被更改或替换时很有用,你无需修改客户端代码就可以创建新的适配器类
当你希望使用某个类,但是其接口与其他代码不兼容时,可以使用适配器类。
适配器模式允许你创建一个中间层类,其可作为代码与遗留类、第三方类或提供怪异接口的类之间的转换器。