Objective-C编程之道


Objective-C编程之道

文章插图
Objective-C编程之道【Objective-C编程之道】本书是基于iOS 的软体开发指南 。书中套用GoF 的经典设计模式 , 介绍了如何在代码中套用创建型模式、结构型模式和行为模式 , 如何设计模式以巩固应用程式 , 并通过设计模式实例介绍MVC 在CocoaTouch 框架中的工作方式 。
基本介绍书名:Objective-C编程之道
作者:[美] Carlo Chung
译者:刘威
出版社:人民邮电出版社
基本介绍作 者:[美] Carlo Chung , 刘威 译
Objective-C编程之道

文章插图
Objective-C编程之道出 版 社:人民邮电出版社出版时间:2011-11-1版 次:1页 数:字 数:455000印刷时间:2011-11-1开 本:16开纸 张:胶版纸印 次:1I S B N:9787115265869包 装:平装内容简介本书适用于那些已经具备Objective-C 基础、想利用设计模式来提高软体开发效率的中高级iOS 开发人员 。苹 果公司的App Store拥有超过20万个套用(每秒都在增加)供用户选择 , 正深刻地改变着软体行业 。每天都有更多的iOS开发者想投入到这一潮流 , 希望凭藉下一个杀手级套用发家致富 。本书的目标正是带领读者完成从新手到高手的转变 , 关注底层的设计模式而非一味只顾着写代码 , 从而开发出更加高效、实用和专业的套用 。iOS 应用程式的基础Cocoa Touch框架内容丰富、结构优美 , 通过将各种设计模式套用到其基础结构中 , 为第三方开发者提供了很好的可扩展性和灵活性 。因此 , 要充分利用这一框架 , 应当深刻理解并恰当套用设计模式 。本书受到GoF的经典着作《设计模式》的启发 , 旨在引导大家掌握如何在iOS平台上以Objective-C语言实现 Cocoa Touch开发所要用到的传统设计模式 。目录第一部分 设计模式初体验第1 章 你好 , 设计模式 21.1 这是一本什幺书 21.2 开始前的準备 21.3 预备知识 31.4 似曾相识的设计 31.5 设计模式的起源——模型、视图和控制器 41.5.1 在模型对象中封装数据和基本行为 41.5.2 使用视图对象向用户展示信息 51.5.3 用控制器对象联繫起模型和视图 51.5.4 作为複合设计模式的MVC51.6 影响设计的几个问题 61.6.1 针对接口编程 , 而不是针对实现编程 71.6.2 @protocol 与抽象基类 71.6.3 对象组合与类继承 81.7 本书用到的对象和类 91.7.1 类图 91.7.2 对象图 121.8 本书如何安排模式的讲解 131.9 总结 13第2章 案例分析:设计一个应用程式 142.1 想法的概念化 142.2 界面外观的设计 152.3 架构设计 172.3.1 视图管理 182.3.2 如何表现涂鸦 202.3.3 如何表现保存的涂鸦图 242.3.4 用户操作 272.4 所用设计模式的回顾 322.5 总结 33第二部分 对象创建第3章 原型 363.1 何为原型模式 363.2 何时使用原型模式 373.3 浅複製与深複製 383.4 使用Cocoa Touch框架中的对象複製 393.5 为Mark聚合体实现複製方法 393.6 将複製的Mark用作“图样模板” 473.7 总结 49第4章 工厂方法 504.1 何为工厂方法模式 504.2 何时使用工厂方法 514.3 为何这是创建对象的安全方法 514.4 在TouchPainter中生成不同画布 514.5 在Cocoa Touch框架中套用工厂方法 574.6 总结 58第5章 抽象工厂 595.1 把抽象工厂套用到TouchPainter应用程式 605.2 在Cocoa Touch框架中使用抽象工厂 665.3 总结 68第6章 生成器 696.1 何为生成器模式 696.2 何时使用生成器模式 706.3 构建追逐游戏中的角色 716.4 总结 79第7章 单例 807.1 何为单例模式 807.2 何时使用单例模式 817.3 在Objective-C中实现单例模式 817.4 子类化Singleton 857.5 执行绪安全 857.6 在Cocoa Touch框架中使用单例模式 867.6.1 使用UIApplication类 867.6.2 使用UIAccelerometer类 867.6.3 使用NSFileManager类 867.7 总结 87第三部分 接口适配第8章 适配器 908.1 何为适配器模式 908.2 何时使用适配器模式 928.3 委託 928.4 用Objective-C协定实现适配器模式 938.5 用Objective-C的块在iOS 4中实现适配器模式 998.5.1 块引用的声明 998.5.2 块的创建 1008.5.3 把块用作适配器 1008.6 总结 104第9章 桥接 1059.1 何为桥接模式 1059.2 何时使用桥接模式 1069.3 创建iOS版虚拟仿真器 1069.4 总结 112第10章 外观 11310.1 何为外观模式 11310.2 何时使用外观模式 11410.3 为子系统的一组接口提供简化的接口 11410.4 在TouchPainter应用程式中使用外观模式 11710.5 总结 119第四部分 对象去耦第11章 中介者 12211.1 何为中介者模式 12211.2 何时使用中介者模式 12411.3 管理TouchPainter应用程式中的视图迁移 12411.3.1 修改迁移逻辑的困难 12611.3.2 集中管理UI交通 12711.3.3 在Interface Builder中使用CoordinatingController 13211.4 总结 135第12章 观察者 13612.1 何为观察者模式 13612.2 何时使用观察者模式 13812.3 在模型-视图-控制器中使用观察者模式 13812.4 在Cocoa Touch框架中使用观察者模式 13812.4.1 通知 13912.4.2 键-值观察 13912.5 在TouchPainter中更新CanvasView上的线条 14012.6 总结 149第五部分 抽象集合第13章 组合 15213.1 何为组合模式 15213.2 何时使用组合模式 15413.3 理解TouchPainter中Mark的使用 15413.4 在Cocoa Touch框架中使用组合模式 16313.5 总结 164第14章 叠代器 16514.1 何为叠代器模式 16514.2 何时使用叠代器模式 16714.3 在Cocoa Touch框架中使用叠代器模式 16714.3.1 NSEnumerator 16714.3.2 基于块的枚举 16814.3.3 快速枚举 16914.3.4 内部枚举 17014.4 遍历Scribble的顶点 17014.5 总结 178第六部分 行为扩展第15章 访问者 18015.1 何为访问者模式 18015.2 何时使用访问者模式 18215.3 用访问者绘製TouchPainter中的Mark 18215.4 访问者的其他用途 18915.5 能不能用範畴代替访问者模式 18915.6 总结 189第16章 装饰 19016.1 何为装饰模式 19016.2 何时使用装饰模式 19116.3 改变对象的“外表”和“内容” 19216.4 为UIImage创建图像滤镜 19216.4.1 通过真正的子类实现装饰 19316.4.2 通过範畴实现装饰 20116.5 总结 206第17章 责任链 20717.1 何为责任链模式 20717.2 何时使用责任链模式 20817.3 在RPG游戏中使用责任链模式 20917.4 总结 214第七部分 算法封装第18章 模板方法 21618.1 何为模板方法模式 21618.2 何时使用模板方法 21718.3 利用模板方法製作三明治 21718.4 保证模板方法正常工作 22418.5 向模板方法增加额外的步骤 22518.6 在Cocoa Touch框架中使用模板方法 22818.6.1 UIView类中的定製绘图 22818.6.2 Cocoa Touch框架中的其他模板方法实现 22818.7 总结 229第19章 策略 23019.1 何为策略模式 23019.2 何时使用策略模式 23119.3 在UITextField中套用验证策略 23119.4 总结 239第20章 命令 24020.1 何为命令模式 24020.2 何时使用命令模式 24120.3 在Cocoa Touch框架中使用命令模式 24120.3.1 NSInvocation对象 24220.3.2 NSUndoManager 24220.4 在TouchPainter中实现撤销与恢复 24320.4.1 使用NSUndoManager实现绘图与撤销绘图 24420.4.2 自製绘图与撤销绘图的基础设施 24820.4.3 允许用户触发撤销与恢复 25520.5 命令还能做什幺 25620.6 总结 257第八部分 性能与对象访问第21章 享元 26021.1 何为享元模式 26021.2 何时使用享元模式 26221.3 创建百花池 26221.4 总结 269第22章 代理 27022.1 何为代理模式 27022.2 何时使用代理模式 27122.3 用虚拟代理懒载入图像 27222.4 在Cocoa Touch框架中使用代理模式 27722.5 总结 279第九部分 对象状态第23章 备忘录 28223.1 何为备忘录模式 28223.2 何时使用备忘录模式 28323.3 在TouchPainter中使用备忘录模式 28423.3.1 涂鸦图的保存 28423.3.2 涂鸦图的恢复 28523.3.3 ScribbleMemento的设计与实现 28623.4 Cocoa Touch框架中的备忘录模式 29523.5 总结 297