《Objective-C编程之道 iOS设计模式解析》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:(美)钟冠贤著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2011
  • ISBN:9787115265869
  • 页数:298 页
图书介绍:本书讲述如何在代码中应用创建型模式、结构型模式和行为模式等,如何设计模式以巩固应用程序,并通过设计模式实例介绍MVC在Cocoa Touch中的工作方式。

第一部分 设计模式初体验 2

第1章 你好,设计模式 2

1.1这是一本什么书 2

1.2开始前的准备 2

1.3预备知识 3

1.4似曾相识的设计 3

1.5设计模式的起源——模型、视图和控制器 4

1.5.1在模型对象中封装数据和基本行为 4

1.5.2使用视图对象向用户展示信息 5

1.5.3用控制器对象联系起模型和视图 5

1.5.4作为复合设计模式的MVC 5

1.6影响设计的几个问题 6

1.6.1针对接口编程,而不是针对实现编程 7

1.6.2@protocol与抽象基类 7

1.6.3对象组合与类继承 8

1.7本书用到的对象和类 9

1.7.1类图 9

1.7.2对象图 12

1.8本书如何安排模式的讲解 13

1.9总结 13

第2章 案例分析:设计一个应用程序 14

2.1想法的概念化 14

2.2界面外观的设计 15

2.3架构设计 17

2.3.1视图管理 18

2.3.2如何表现涂鸦 20

2.3.3如何表现保存的涂鸦图 24

2.3.4用户操作 27

2.4所用设计模式的回顾 32

2.5总结 33

第二部分 对象创建 36

第3章 原型 36

3.1何为原型模式 36

3.2何时使用原型模式 37

3.3浅复制与深复制 38

3.4使用Cocoa Touch框架中的对象复制 39

3.5为Mark聚合体实现复制方法 39

3.6将复制的Mark用作“图样模板” 47

3.7总结 49

第4章 工厂方法 50

4.1何为工厂方法模式 50

4.2何时使用工厂方法 51

4.3为何这是创建对象的安全方法 51

4.4在TouchPainter中生成不同画布 51

4.5在Cocoa Touch框架中应用工厂方法 57

4.6总结 58

第5章 抽象工厂 59

5.1把抽象工厂应用到TouchPainter应用程序 60

5.2在Cocoa Touch框架中使用抽象工厂 66

5.3总结 68

第6章 生成器 69

6.1何为生成器模式 69

6.2何时使用生成器模式 70

6.3构建追逐游戏中的角色 71

6.4总结 79

第7章 单例 80

7.1何为单例模式 80

7.2何时使用单例模式 81

7.3在Objective-C中实现单例模式 81

7.4子类化Singleton 85

7.5线程安全 85

7.6在Cocoa Touch框架中使用单例模式 86

7.6.1使用UIApplication类 86

7.6.2使用UIAccelerometer类 86

7.6.3使用NSFileManager类 86

7.7总结 87

第三部分 接口适配 90

第8章 适配器 90

8.1何为适配器模式 90

8.2何时使用适配器模式 92

8.3委托 92

8.4用Objective-C协议实现适配器模式 93

8.5用Objective-C的块在iOS 4中实现适配器模式 99

8.5.1块引用的声明 99

8.5.2块的创建 100

8.5.3把块用作适配器 100

8.6总结 104

第9章 桥接 105

9.1何为桥接模式 105

9.2何时使用桥接模式 106

9.3创建iOS版虚拟仿真器 106

94总结 112

第10章 外观 113

10.1何为外观模式 113

10.2何时使用外观模式 114

10.3为子系统的一组接口提供简化的接口 114

10.4在TouchPainter应用程序中使用外观模式 117

10.5总结 119

第四部分 对象去耦 122

第11章 中介者 122

11.1何为中介者模式 122

11.2何时使用中介者模式 124

11.3管理TouchPainter应用程序中的视图迁移 124

11.3.1修改迁移逻辑的困难 126

11.3.2集中管理UI交通 127

11.3.3在Interface Builder中使用CoordinatingController 132

11.4总结 135

第12章 观察者 136

12.1何为观察者模式 136

12.2何时使用观察者模式 138

12.3在模型-视图-控制器中使用观察者模式 138

12.4在Cocoa Touch框架中使用观察者模式 138

12.4.1通知 139

12.4.2键-值观察 139

12.5在TouchPainter中更新CanvasView上的线条 140

12.6总结 149

第五部分 抽象集合 152

第13章 组合 152

13.1何为组合模式 152

13.2何时使用组合模式 154

13.3理解TouchPainter中Mark的使用 154

13.4在Cocoa Touch框架中使用组合模式 163

13.5总结 164

第14章 迭代器 165

14.1何为迭代器模式 165

14.2何时使用迭代器模式 167

14.3在Cocoa Touch框架中使用迭代器模式 167

14.3.1 NSEnumerator 167

14.3.2基于块的枚举 168

14.3.3快速枚举 169

14.3.4内部枚举 170

14.4遍历Scribble的顶点 170

14.5总结 178

第六部分 行为扩展 180

第15章 访问者 180

15.1何为访问者模式 180

15.2何时使用访问者模式 182

15.3用访问者绘制TouchPaintcr中的Mark 182

15.4访问者的其他用途 189

15.5能不能用范畴代替访问者模式 189

15.6总结 189

第16章 装饰 190

16.1何为装饰模式 190

16.2何时使用装饰模式 191

16.3改变对象的“外表”和“内容” 192

16.4为UIImage创建图像滤镜 192

16.4.1通过真正的子类实现装饰 193

16.4.2通过范畴实现装饰 201

16.5总结 206

第17章 责任链 207

17.1何为责任链模式 207

17.2何时使用责任链模式 208

17.3在RPG游戏中使用责任链模式 209

17.4总结 214

第七部分 算法封装 216

第18章 模板方法 216

18.1何为模板方法模式 216

18.2何时使用模板方法 217

18.3利用模板方法制作三明治 217

18.4保证模板方法正常工作 224

18.5向模板方法增加额外的步骤 225

18.6在Cocoa Touch框架中使用模板方法 228

18.6.1 UIView类中的定制绘图 228

18.6.2 Cocoa Touch框架中的其他模板方法实现 228

18.7总结 229

第19章 策略 230

19.1何为策略模式 230

19.2何时使用策略模式 231

19.3在UITextField中应用验证策略 231

19.4总结 239

第20章 命令 240

20.1何为命令模式 240

20.2何时使用命令模式 241

20.3在Cocoa Touch框架中使用命令模式 241

20.3.1 NSInvocation对象 242

20.3.2 NSUndoManager 242

20.4在TouchPainter中实现撤销与恢复 243

20.4.1使用NSUndoManager实现绘图与撤销绘图 244

20.4.2自制绘图与撤销绘图的基础设施 248

20.4.3允许用户触发撤销与恢复 255

20.5命令还能做什么 256

20.6总结 257

第八部分 性能对象访问 260

第21章 享元 260

21.1何为享元模式 260

21.2何时使用享元模式 262

21.3创建百花池 262

21.4总结 269

第22章 代理 270

22.1何为代理模式 270

22.2何时使用代理模式 271

22.3用虚拟代理懒加载图像 272

22.4在Cocoa Touch框架中使用代理模式 277

22.5总结 279

第九部分 对象状态 282

第23章 备忘录 282

23.1何为备忘录模式 282

23.2何时使用备忘录模式 283

23.3在TouchPainter中使用备忘录模式 284

23.3.1涂鸦图的保存 284

23.3.2涂鸦图的恢复 285

23.3.3 ScribbleMemento的设计与实现 286

23.4 Cocoa Touch框架中的备忘录模式 295

23.5总结 297