博客> iOS设计模式 ——接口适配
iOS设计模式 ——接口适配
2018-11-16 18:53 评论:0 阅读:335 稻香里的守望者
设计模式 工厂方法 原型 抽象工厂 生成器

原文地址(WellsCai的简书)

这部分与其用接口适配来形容,也可以说是接口设计。涉及到接口适配的有以下三种设计模式, ① 适配器(为了适配旧接口) ② 桥接(为了适配不同的接口) ③ 外观模式(为了接口简单好用)

一. 适配器

适配器模式是用来解决已有类与新的接口不兼容的情况,将一个类的接口转换成客户希望的另一个接口。有两种实现适配器的方法:类适配器和对象适配器。 类适配器是通过继承实现的。因为OC不支持多继承,Target只能以协议形式存在。Adapter遵守Target协议,继承Adaptee。Target协议定义了对外的接口(request方法)。Adapter没有重载Adaptee的specificRequest方法,而是在request方法的实现中,调用父类(Adaptee)的specificRequest方法。

类适配器.png

与类适配器不同,对象适配器不继承被适配者,而是组合了一个对它的引用,从“属于”变成了“包含”。在request方法的实现中,调用了[adaptee specificRequest]

对象适配器.png 这两种方式的适配器达成的目是一样的,只是各自的特征和试用范围有所差异。我们需要根据具体的需求去选择。

类适配器和对象适配器.png

cocoa框架中的委托模式就是适配器模式的一种实现。适配器模式是为了把类的接口变换为客户端要求的另一个接口。在委托中,客户端是cocoa Touch框架中的类,Target是委托协议,实现协议的具体类就是适配器,应用程序中的其他类就是被适配者(与框架不匹配需要适配)。

**举个例子

收藏
0
sina weixin mail 回到顶部