定义
适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的别名是包装器模式(Wrapper),是一种结构型设计模式。
定义解读:适配器模式又分为对象适配器和类适配器两种。
对象适配器:利用组合的方式将请求转发给被适配者。
类适配器:通过适配器类多重继承目标接口和被适配者,将目标方法的调用转接到调用被适配者的方法。
适用场景
想使用一个已经存在的类,但是这个类的接口不符合我们的要求,原因可能是和系统内的其他需要合作的类不兼容。
想创建一个功能上可以复用的类,这个类可能需要和未来某些未知接口的类一起工作。
成员
适配器模式有三个成员:
目标(Target):客户端希望直接接触的类,给客户端提供了调用的接口
被适配者(Adaptee):被适配者是已经存在的类,即需要被适配的类
适配器(Adapter):适配器对Adaptee的接口和Target的接口进行适配
对象适配器模式:
类适配器模式:
多继承在Objective-C中可以通过遵循多个协议来实现,在本模式的代码示例中只使用对象适配器来实现。
优点
符合开闭原则:使用适配器而不需要改变现有类,提高类的复用性。
目标类和适配器类解耦,提高程序扩展性。
缺点
增加了系统的复杂性