iOS常用设计模式

设计模式简短的总结

一.熟悉常用的设计模式

最近看了一本《Objective-C编程之道关于iOS设计模式解析》,看完之后总结一下
【对象创建】
原型模式:对一个类进行复制创建一个新的对象
工厂方法:将具体产生什么类型隐藏起来,将产生什么类型交给子类决定。适用于只有一种类型的工厂
抽象工厂方法:多个工厂实现了同一接口或继承同一个类
单例模式:一个类仅有一个实例,同时提供一个访问该唯一实例的接口
【接口适配】
适配器模式:一个类想要调用另一个类的方法,但是不兼容,利用适配器模式让此方法能兼容,用协议实现适配器模式。
桥接模式:抽象部分与实现部分分离,就像遥控器逻辑与实际的电视机型号分离,这样电视机的型号与遥控器的设计互不影响
外观模式:为一组具有关联的接口提供统一的接口,简化调用
【对象去耦】
中介者模式:定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合松散。常用控制器
观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。常见通知机制和KVO
代理模式:一个类委托另一个类做事情
备忘录模式:持久化存储,常见归档,plist
【抽象集合】
组合模式:将同一类对象组合成树状结构,具有部分和整体的层次,使得对整体的处理能够遍历到所有局部个体。常见UIView对象的渲染会遍历到子类依次执行。
迭代器模式:如果不想暴露集合内部的信息,那么可以使用迭代器模式,通过迭代器暴露的方法来对集合进行访问和操作。常见NSEnumerator
【行为扩展】
装饰模式:在不破坏原有类的基础上,添加新功能。在需要添加的功能很少的时候可以用Category
责任链模式:装饰者是在统一的方法中添加新的功能,责任链则是都具有自己独一无二的功能。如同工厂里面的产品生产线,每个部门都有自己擅长的部分,只做自己的部分,其他部分交给其他部门来完成。降低了对象之间的耦合性
【算法封装】
策略模式:定义了一系列的算法,并将每一个算法封装起来,让他们拥有统一的接口,作为抽象类的子类。策略模式在MVC模式中的体现为:视图是一个对象,可以被调整使用不同的策略(行为),而控制器提供了策略(行为)。视图想换另一种行为,换控制器就可以了。
命令模式:将请求封装成对象。撤销功能
模板方法模式:利用一个抽象类封装自己基本的方法,并提供一些需要让子类去完善方法接口,UIView的drawRect方法:该方法是用于描述UIView长什么样子的,这个方法留给子类去实现,从而实现不同绘制。

猜你喜欢

转载自blog.csdn.net/ivolcano/article/details/77990781