适配器模式

定义

适配器模式(Adapter Pattern) :将一个接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的别名是包装器模式(Wrapper),是一种结构型设计模式。

定义解读:适配器模式又分为对象适配器和类适配器两种。

对象适配器:利用组合的方式将请求转发给被适配者。

类适配器:通过适配器类多重继承目标接口和被适配者,将目标方法的调用转接到调用被适配者的方法。

适用场景

想使用一个已经存在的类,但是这个类的接口不符合我们的要求,原因可能是和系统内的其他需要合作的类不兼容。

想创建一个功能上可以复用的类,这个类可能需要和未来某些未知接口的类一起工作。

成员

适配器模式有三个成员:

目标(Target):客户端希望直接接触的类,给客户端提供了调用的接口

被适配者(Adaptee):被适配者是已经存在的类,即需要被适配的类

适配器(Adapter):适配器对Adaptee的接口和Target的接口进行适配

对象适配器模式:

image

类适配器模式:

image

多继承在Objective-C中可以通过遵循多个协议来实现,在本模式的代码示例中只使用对象适配器来实现。

image
优点

符合开闭原则:使用适配器而不需要改变现有类,提高类的复用性。

目标类和适配器类解耦,提高程序扩展性。

缺点

增加了系统的复杂性

转自

面向对象设计的设计模式(八):适配器模式

你可能感兴趣的:(适配器模式)