按照设计模式的功能进行划分,可以分为八类:
接口适配类,对象去耦类,对象创建类,抽象集合类,对象状态类,行为扩展类,算法封装类,性能与对象访问类。其中包含内容如下:
对象创建型:1.原型模式;2.工厂模式;3.抽象工厂模式;4.单例模式;5.生成器
接口适配型:1.适配器模式;2.桥接模式;3.外观模式
对象去耦型:1.中介者模式;2.观察者模式
抽象集合型:1.组合模式;2.迭代器模式
行为扩展型:1.访问者模式;2.装饰器模式;3.责任链模式
算法封装型:1.模板方法模式;2.策略模式;3.命令模式
性能与对象访问型:1.享元模式;2.代理模式
对象状态型:1.备忘录模式
下面将对书中讲解到的设计模式进行简述。
建议有时间的同学去通读和练习一遍。没有时间的同学就看我下面写的吧,先做到心里有个概况。等有时间了再去研究。
后面计划对里面的每种设计模式进行详解(二十一种,真不少),想持续关注的要留心了。
对象创建型
原型模式:
简单的说就是复制,用同一个模具复制出一系列的东西。
使用场景有:
1.创建一个实例流畅复杂,复制比较容易;
2.创建一个对象子对象组合比较多,复制比较容易;
应用实例:
自定义对象实现NSCopy协议或者NSMutableCopy协议,实现方法copyWithZone或者mutableCopyWithZone。就是对此设计模式的体现。
工厂模式:
简单的说就是在一个类中根据需求,可以生产出多种类型的产品。
使用场景有:
类有很多具体的子类,想让返回什么样的子类局部化,由内部自行判断。
应用实例:
NSNumber类定义了一系列的工厂方法:
根据int 生产 intNumber; 根据unsigned int 生产 unsignedNumber;
+ (NSNumber *)numberWithInt:(int)value;
+ (NSNumber *)numberWithUnsi