新書推薦:
《
汉字理论与汉字阐释概要 《说解汉字一百五十讲》作者李守奎新作
》
售價:HK$
76.2
《
汗青堂丛书144·决战地中海
》
售價:HK$
168.0
《
逝去的武林(十周年纪念版 武学宗师 口述亲历 李仲轩亲历一九三零年代武人言行录)
》
售價:HK$
54.9
《
唐代冠服图志(百余幅手绘插画 图解唐代各类冠服 涵盖帝后 群臣 女官 士庶 军卫等 展现唐代社会风貌)
》
售價:HK$
87.4
《
知宋·宋代之科举
》
售價:HK$
99.7
《
那本书是(吉竹伸介与又吉直树 天才联动!)
》
售價:HK$
99.7
《
传播的跃迁:人工智能如何革新人类的交流
》
售價:HK$
110.9
《
纯粹·古代中国的历史与制度
》
售價:HK$
62.7
|
編輯推薦: |
Swift编程语言已然改变了iOS的世界,为Cocoa开发开启了新的篇章。
本书是帮助读者掌握Swift强大功能的又一利器,由技术畅销书作者Adam Freeman执笔,从设计模型应用的角度探讨Swift语言,抽丝剥茧,层层深入,囊括各类经典模式,并挖掘了那些看似十分简单、实际别有一番奥妙的知识。在本书的指导下,你可以玩转设计模式,用Swift语言开发出优质的iOS应用。
设计模式应用的价值和时机。
经典设计模式解析,包括单例模式、抽象工厂模式、责任链模式和观察者模式。
有待挖掘的潜力型设计模式,包括备忘录模式、命令模式和中介者模式。
如何利用Swift语言精髓让代码易于理解、易于测试、易于维护,并且拥有良好的架构。
如何利用Cocoa API实现经典设计模式。
Swift应用的难点和易错点。
|
內容簡介: |
本书是系统学习Swift 设计模式和Cocoa 框架知识的绝佳参考图书。书中内容分为五部分:首部分介绍学习本书的预备知识,包括使用Xcode 创建的Playgroud 文件和名为SportsStore 的iOS 应用;第二部分讲解创建型模式,并辅以大量代码示例和图示;第三部分阐述结构型模式,并重点区分了容易混淆的模式;第四部分介绍行为型模式,总结了一些知名度较小的模式;第五部分讨论MVC 模式,剖析了MVC 模式的重要性。
|
關於作者: |
Adam Freeman曾在多家名企担任高级职务,现为畅销技术图书作家,著有多部C#、.NET和Java方面的大部头作品。其中《ASP.NET 4高级程序设计(第4版)》《精通ASP.NET MVC 3框架(第3版)》《HTML5指南》销量均在同品种中名列前茅,备受读者推崇。
|
目錄:
|
目录
第一部分 准备工作
第1 章 设计模式 2
1.1 将设计模式置于上下文中 2
1.1.1 设计模式简介 3
1.1.2 设计模式的结构 3
1.1.3 量化设计模式 4
1.1.4 问题出现之后使用设计模式 4
1.1.5 设计模式的局限 5
1.2 关于本书 5
1.2.1 读者需要哪些知识背景 5
1.2.2 读者需要哪些软件 5
1.2.3 本书的结构 6
1.2.4 获取示例代码 6
1.3 总结 6
第2 章 熟悉Xcode 的使用 7
2.1 使用Xcode Playground 7
2.1.1 创建Playground 7
2.1.2 查看变量取值的历史记录 9
2.1.3 使用取值时间轴 11
2.1.4 在Playground 中使用UI 组件 13
2.2 使用OS X 命令行工具项目 14
2.2.1 创建命令行工具项目 14
2.2.2 Xcode 的布局 15
2.2.3 新建一个Swift 文件 16
2.3 总结 19
第3 章 开发SportsStore 应用 20
3.1 创建一个简单的iOS 应用项目 20
3.1.1 新建项目 21
3.1.2 熟悉Xcode 的布局 22
3.1.3 定义数据 23
3.2 构建简单的布局 25
3.2.1 添加基本组件 26
3.2.2 配置Auto Layout 28
3.2.3 测试布局效果 29
3.3 实现与显示库存总量的Label 相关的
代码 30
3.3.1 创建引用 30
3.3.2 更新界面显示 31
3.4 实现table cell 32
3.4.1 配置自定义table cell 和布局 32
3.4.2 配置table cell 的布局约束 34
3.4.3 创建table cell 类和Outlet 34
3.4.4 实现数据源协议 36
3.4.5 注册数据源 37
3.4.6 测试数据源 38
3.5 处理编辑操作 38
3.6 测试SportsStore 应用 41
3.7 总结 42
第二部分 创建型模式
第4 章 对象模板模式 44
4.1 准备示例项目 44
4.2 此模式旨在解决的问题 45
4.3 对象模板模式 47
4.4 实现对象模板模式 48
4.5 对象模板模式的优点 49
4.5.1 解耦的好处 49
4.5.2 封装的优点 50
4.5.3 不断演化外部呈现的好处 52
4.6 对象模板模式的陷阱 54
4.7 Cocoa 中使用对象模板模式的示例 54
4.8 在SportsStore 应用中使用对象模板
模式 54
4.8.1 准备示例应用 54
4.8.2 创建Product 类 56
4.8.3 使用Product 类 58
4.8.4 扩展应用的总结信息 60
4.9 总结 61
第5 章 原型模式 62
5.1 此模式旨在解决的问题 62
5.1.1 初始化过程开销大 62
5.1.2 对模板的依赖 64
5.2 原型模式 65
5.3 实现原型模式 65
5.3.1 克隆引用类型 67
5.3.2 浅复制与深复制 70
5.3.3 复制数组 73
5.4 原型模式的优点 75
5.4.1 避免内存开销大的初始化操作 75
5.4.2 分离对象的创建与使用 77
5.5 原型模式的陷阱 83
5.5.1 陷阱一:深复制与浅复制 83
5.5.2 陷阱二:扭曲代码结构 83
5.5.3 陷阱三:不标准的协议 83
5.6 Cocoa 中使用原型模式的实例 83
5.6.1 使用Cocoa 数组 84
5.6.2 使用NSCopying 属性修饰符 86
5.7 在SportsStore 应用中使用原型模式 87
5.7.1 准备示例应用 87
5.7.2 在Product 类中实现NSCopying
协议 87
5.7.3 创建Logger 类 88
5.7.4 在View Controller 中输出修改
日志 89
5.7.5 测试修改 91
5.8 总结 91
第6 章 单例模式 92
6.1 准备示例项目 92
6.2 此模式旨在解决的问题 92
6.3 单例模式 96
6.4 实现单例模式 96
6.4.1 快速实现单例模式 96
6.4.2 创建一个传统的单例实现 98
6.4.3 处理并发 100
6.5 单例模式的陷阱 104
6.5.1 泄露缺陷 104
6.5.2 代码文件共享带来的问题 105
6.5.3 并发陷阱 105
6.6 Cocoa 中使用单例模式的实例 106
6.7 在SportsStore 应用中使用单例模式 106
6.7.1 保护数据数组 107
6.7.2 保护回调 108
6.7.3 定义单例 109
|
|