前言:
之前讲过装饰者模式,将对象包装起来并赋予新的职责,这一章我们也会将对象进行包装,只不过是让它们看起来不像自己而像是别的东西。这样就可以在设计中将类的接口转化为想要的接口,以实现同的接口,此外还将讲述另一个模式,将对象包装起来以简化接口。
1. 适配器简介
1.1 面向对象的适配器
真实世界的适配器比如位于美式插头和欧式插座之间的交流电适配器。面向对象的适配器是什么呢?
面向对象的适配器是将一个接口转化成另一个接口,以符合客户的期望。
例如已有的一个软件系统,希望它能和一个新的厂商类库搭配使用,但是这个厂商设计出来的接口不同于旧的接口,而你又不想改变现有的代码,所以这个时候就需要一个适配器来完成现有系统和新的厂商类库的对接。
1.2 使用中的适配器
我们在策略模式里举例讲的鸭子。看一个简化版的示例。
1.2.1 鸭子接口

