对Cocoa框架中使用的设计模式详细讲解,简述21种设计模式

按照设计模式的功能进行划分,可以分为八类:

接口适配类,对象去耦类,对象创建类,抽象集合类,对象状态类,行为扩展类,算法封装类,性能与对象访问类。其中包含内容如下:

对象创建型: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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值