Objective-C设计模式

设计模式-适配器模式《八》

2019-01-01  本文已影响16人  liyoucheng2014

何为适配器模式

定义:将一个类的接口转换成客户希望的另外一个接口。用于连接两种不同种类的对象,使其毫无问题地协同工作。
主要作用:是把适配者的行为传递给管道另一端客户端。

基本上有两种实现适配器的方式,

类适配器的类图 对象适配器的类图
类适配器 对象适配器
只针对单一的具体Adapter类,把Adapter适配到Target 可以适配多个Adapter及其子类
易于重载Adapter的行为,因为是通过直接的子类化进行的适配 难以重载Adapter的行为,需要借助于子类的对象而不是Adapter本身
只有一个Adapter对象,无需额外的指针间接访问Adapter 需要额外的指针以间接访问Adapter并适配其行为

何时使用适配器模式

1、 已有类的接口与需求不匹配。
2、 想要一个可复用的类,该类能够同时可能带有不兼容接口的其他类协作。
3、需要适配一个类的几个不同子类,可是让每一个子类去子类化一个类适配器又不现实。那么可以是用对象适配器(也叫委托)来适配其父类的接口。

使用步骤

1、 创建抽象适配器对象
2、 适配器与视图层建立输出联系
3、 适配器与数据层建立输入联系

优缺点

注:建议使用对象适配器模式,便于以后维护
注:充电器例子

SetStrokeColorCommand是客户端,SetStrokeColorCommandDelegate是它的Target。PaletteViewCOntroller通过转换从CommandSlider实例得到的值,起到SetStrokeColorCommandDelegate的适配器的作用 使用对象组合适配UISlider实现RGBValuesProvider块作为StrokeColorCommand的对象适配器的类图

Objective-C项目地址

上一篇下一篇

猜你喜欢

热点阅读