意图
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那此类可以一起工作
适用性
你想使用一个已经存在的类,而它的接口不符合你的需求。
你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
(仅适用于对象Adapter )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。
结构
适配器模式常见的有两种实现,一个是类适配器模式,一个是对象适配器模式。图中上边的为类适配器模式,下边的是对象适配器模式。
类适配器模式中,适配器将源adaptee当做类进行继承。在对象适配器模式中,适配器将源adaptee当做对象,持有该对象。
代码示例
|
|
特征说明
1、类适配器通过继承源类,实现适配器
2、对象适配器通过持有源对象,实现适配器