模式定义:将一个类的接口转换成用户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作(Convert the interface of a class into another interface clients expect, Lets classes work together that couldn't otherwise because of incompatible interface)。
具体说明:结构型模式。适配器模式适用于已经投产的系统中需要修改接口。一般在系统设计之初不使用适配器模式,而是尽可能设计地保证接口统一。在软件后期维护或者新增功能时,会用到设计模式。
模式应用:1)旧系统和新系统进行融合时,新系统调用接口与旧系统不一致的情况。2)使用第三方库开发时,库的接口与系统中的调用接口不统一的情况。3)标准库中默认情况下stack和queue都是deque的适配器,而priority_queue是vector的适配器,当然也可以在声明queue、stack和priority_queue时显式地指定其adaptee, 例如stack<string, vector<string> > stk; 此时的stack对象stk是作为vector的适配器出现的。
UML图示: