概述
我们在给手机充电的时候,一般会有一个数据线和充电头,然后插在插排上。我们是没有办法将数据线直接插在插排上的,所以我们需要把充电头(有USB的接口和与插排对应的接口)作为转换器,才可以适配插排的插口,并转换电压,给手机充电。生活中还有其他的例子,比如读卡器,欧洲插座转换器等等。
适配器模式就是将一个类的接口转换成客户希望的另一个接口,使得原本接口不兼容而不能一起工作的类可以一起工作。
适配器模式分为类适配器模式和对象适配器模式,前者类之间的耦合度比较高,且要求程序员了解现有组件库中相关组件的内部结构,所以应用相对较少些。
适配器模式包含以下主要角色:
- 目标接口:当前业务系统所期待的接口,可以使抽象类或者接口。
- 适配者类:它是被访问和适配的现存组件库中的组件接口。
- 适配器类:它是一个转换器,通过继承或引用是陪着对象,把适配者接口转换成目标接口,让客户按照目标接口的格式来访问适配者。
类适配器模式
实现方式:定义一个适配类来实现当前系统的业务接口,同时又继承现有组件库中已经存在的组件