1) 概念:将一个类的接口转换成客户希望的另外一个接口。
2) 解决的问题:Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。
举个例子,你的计算机电源插头是二空的,现在只有3孔的插销可以用,用一个二孔转三孔的插头,这个插头就是适配器。
3) 模式中的角色:
A. 目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
B. 需要适配的类(Adaptee):需要适配的类或适配者类。
C. 适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标接口。
4) 实现方式:
A. 类的适配器模式(采用继承实现)
B. 对象适配器(采用对象组合方式实现)
5) 优缺点:
优点:通过适配器,客户端可以调用同一接口,因而对客户端来说是透明的。这样做更简单、更直接、更紧凑。复用了现存的类,解决了现存类和复用环境要求不一致的问题。将目标类和适配者类解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码。,同一个适配器可以把适配者类和它的子类都适配到目标接口。
缺点:对于对象适配器来说,更换适配器的实现过程比较复杂。
应用:插头、手机电源适配器