精通Swift设计模式

精通Swift设计模式 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
[美] 亚当·弗里曼(Adam Freeman) 著,丘远乐 译



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-11-25

类似图书 点击查看全场最低价

图书介绍

出版社: 人民邮电出版社
ISBN:9787115433480
版次:1
商品编码:11976533
包装:平装
丛书名: 图灵程序设计丛书
开本:16开
出版时间:2016-09-01
用纸:胶版纸
页数:444
正文语种:中文


相关图书





图书描述

编辑推荐

  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
6.8 总结 111
第7 章 对象池模式 112
7.1 准备示例项目 112
7.2 此模式旨在解决的问题 113
7.3 对象池模式 113
7.4 实现对象池模式 114
7.4.1 定义Pool 类 114
7.4.2 使用Pool 类 118
7.5 对象池模式的陷阱 121
7.6 Cocoa 中使用对象池模式的实例 121
7.7 在SportsStore 应用中使用对象池
模式 122
7.7.1 准备示例应用 122
7.7.2 创建一个(伪)服务器 122
7.7.3 创建对象池 123
7.7.4 应用对象池模式 124
7.8 总结 127
第8 章 对象池模式的变体 128
8.1 准备示例项目 128
8.2 对象池模式的变体 128
8.2.1 对象创建策略 129
8.2.2 对象复用策略 132
8.2.3 空池策略 136
8.2.4 对象分配策略 146
8.3 对象池模式变体的陷阱 148
8.3.1 期望与现实之间的差距 149
8.3.2 过度利用与低利用率 149
8.4 Cocoa 中使用对象池模式变体的示例 149
8.5 在SportsStore 应用中使用对象池模式
变体 149
8.6 总结 151
第9 章 工厂方法模式 152
9.1 准备示例项目 152
9.2 此模式旨在解决的问题 154
9.3 工厂方法模式 156
9.4 实现工厂方法模式 156
9.4.1 定义全局工厂方法 157
9.4.2 使用基类 158
9.5 工厂方法模式的变体 162
9.6 工厂方法模式的陷阱 164
9.7 Cocoa 中使用工厂方法模式的示例 164
9.8 在SportsStore 应用中使用工厂方法
模式 164
9.8.1 准备示例应用 164
9.8.2 实现工厂方法模式 166
9.8.3 应用工厂方法模式 167
9.9 总结 168
第10 章 抽象工厂模式 169
10.1 准备示例项目 169
10.2 此模式旨在解决的问题 172
10.3 抽象工厂模式 172
10.4 实现抽象工厂模式 174
10.4.1 创建抽象工厂类 174
10.4.2 创建具体工厂类 174
10.4.3 完善抽象工厂类 175
10.4.4 使用抽象工厂模式 176
10.5 抽象工厂模式的变体 177
10.5.1 隐藏抽象工厂类 177
10.5.2 在具体工厂类中使用单例
模式 178
10.5.3 在实现类中使用原型模式 180
10.6 抽象工厂模式的陷阱 185
10.7 Cocoa 中使用抽象工厂模式的示例 185
10.8 在SportsStore 应用中使用抽象工厂
模式 186
10.8.1 准备示例应用 186
10.8.2 定义实现类和协议 186
10.8.3 定义抽象与具体工厂类 187
10.8.4 使用工厂与实现类 188
10.9 总结 189
第11 章 建造者模式 190
11.1 准备示例项目 190
11.2 建造者模式 194
11.3 实现建造者模式 195
11.3.1 定义建造者类 195
11.3.2 使用建造者类 196
11.3.3 此模式的影响 196
11.4 建造者模式的变体 200
11.5 建造者模式的陷阱 202
11.6 Cocoa 中使用建造者模式的实例 202
11.7 在SportsStore 应用中使用建造者
模式 203
11.7.1 准备示例应用 203
11.7.2 定义建造者类 203
11.7.3 使用建造者类 204
11.8 总结 205
第三部分 结构型模式
第12 章 适配器模式 208
12.1 准备示例项目 208
12.1.1 创建数据源 209
12.1.2 实现示例应用 210
12.2 此模式旨在解决的问题 211
12.3 适配器模式 212
12.4 实现适配器模式 213
12.5 适配器模式之变体 215
12.5.1 定义一个适配器包装类 215
12.5.2 创建一个双向适配器 216
12.6 适配器模式的缺陷 219
12.7 Cocoa 中使用适配器模式的实例 219
12.8 在SportsStore 应用中使用适配器
模式 219
12.8.1 准备示例应用 220
12.8.2 定义Adapter 类 220
12.8.3 使用适配功能 221
12.9 总结 222
第13 章 桥接模式 223
13.1 准备示例项目 223
13.2 此模式旨在解决的问题 225
13.3 桥接模式 226
13.4 实现桥接模式 228
13.4.1 实现信息部分 228
13.4.2 实现通道部分 229
13.4.3 创建桥接类 229
13.4.4 增加信息类型与通道类型 230
13.5 桥接模式的变体 233
13.6 桥接模式的陷阱 237
13.7 Cocoa 中使用桥接模式的实例 237
13.8 在SportsStore 应用中使用此模式 237
13.8.1 准备示例应用 237
13.8.2 理解待解决的问题 237
13.8.3 定义桥接类 238
13.9 总结 239
第14 章 装饰器模式 240
14.1 准备示例项目 240
14.2 此模式旨在解决的问题 242
14.3 装饰器模式 244
14.4 实现装饰器模式 244
14.5 装饰器模式的变体 246
14.5.1 创建具有新功能的装饰器 246
14.5.2 合并多个装饰器 249
14.6 装饰器模式的陷阱 251
14.7 Cocoa 中使用装饰器模式的实例 251
14.8 在示例项目中使用装饰器模式 251
14.8.1 准备示例应用 252
14.8.2 创建装饰器 252
14.8.3 使用装饰器 253
14.9 总结 253
第15 章 组合模式 254
15.1 准备示例项目 254
15.2 此模式旨在解决的问题 256
15.3 组合模式 257
15.4 实现组合模式 257
15.5 组合模式的陷阱 260
15.6 Cocoa 中使用组合模式的实例 261
15.7 在SportsStore 应用中使用此模式 261
15.7.1 准备示例应用 261
15.7.2 定义组合类 262
15.7.3 使用此模式 263
15.8 总结 264
第16 章 外观模式 265
16.1 准备示例项目 265
16.2 此模式旨在解决的问题 267
16.3 外观模式 268
16.4 实现外观模式 269
16.5 外观模式之变体 270
16.6 外观模式的陷阱 271
16.7 Cocoa 中使用外观模式的实例 272
16.8 在SportsStore 应用中使用外观模式 273
16.8.1 准备示例应用 273
16.8.2 创建外观类 274
16.8.3 使用外观类 274
16.9 总结 275
第17 章 享元模式 276
17.1 准备示例项目 276
17.2 此模式旨在解决的问题 278
17.3 享元模式 278
17.4 实现享元模式 279
17.4.1 创建Flyweight 协议 279
17.4.2 创建FlyweightImplementation
类 280
17.4.3 增加并发保护 281
17.4.4 创建FlyweightFactory 类 282
17.4.5 应用享元模式 284
17.5 享元模式之变体 285
17.6 享元模式的陷阱 286
17.6.1 陷阱一:重复的外部数据 286
17.6.2 陷阱二:可变的外部数据 287
17.6.3 陷阱三:并发访问 287
17.6.4 陷阱四:过度优化 287
17.6.5 陷阱五:误用 287
17.7 Cocoa 中使用享元模式的实例 287
17.8 在SportsStore 应用中使用享元模式 288
17.8.1 准备示例应用 289
17.8.2 创建Flyweight 协议和
实现类 289
17.8.3 创建享元工厂 289
17.8.4 应用享元模式 290
17.9 总结 290
第18 章 代理模式 291
18.1 准备示例项目 291
18.2 此模式旨在解决的问题 292
18.2.1 远程对象问题 292
18.2.2 开销大的问题 292
18.2.3 访问控制问题 293
18.3 代理模式 293
18.3.1 解决远程对象问题 293
18.3.2 解决操作开销大的问题 294
18.3.3 解决访问限制问题 294
18.4 实现代理模式 295
18.4.1 实现远程对象代理 295
18.4.2 实现开销大的操作的代理 297
18.4.3 实现访问限制代理 299
18.5 代理模式之变体 302
18.6 代理模式的陷阱 305
18.7 Cocoa 中使用代理模式的实例 306
18.8 在SportsStore 应用中使用代理模式 306
18.8.1 准备示例应用 306
18.8.2 定义协议、工厂方法和
代理类 306
18.8.3 更新ProductDataStore 类 307
18.8.4 发送库存更新 308
18.9 总结 310
第四部分 行为型模式
第19 章 责任链模式 312
19.1 准备示例项目 312
19.2 此模式旨在解决的问题 314
19.3 责任链模式 315
19.4 实现责任链模式 315
19.4.1 创建并使用责任链 317
19.4.2 使用责任链模式 318
19.5 责任链模式之变体 318
19.5.1 使用工厂方法模式 318
19.5.2 责任链响应反馈 319
19.5.3 通知责任链中的其他链 321
19.6 此模式的陷阱 323
19.7 Cocoa 中使用责任链模式的实例 323
19.8 在SportsStore 应用中使用责任链
模式 323
19.8.1 准备示例应用 323
19.8.2 定义责任链及其链 323
19.9 总结 325
第20 章 命令模式 326
20.1 准备示例项目 326
20.2 此模式旨在解决的问题 327
20.3 命令模式 328
20.4 实现命令模式 328
20.4.1 定义Command 协议 329
20.4.2 定义Command 实现类 329
20.4.3 使用命令模式 330
20.4.4 添加并发保护 332
20.4.5 使用撤销操作的功能 333
20.5 命令模式之变体 333
20.5.1 创建复合命令 334
20.5.2 将命令当作宏来用 335
20.5.3 将闭包作为命令 337
20.6 命令模式的陷阱 339
20.7 Cocoa 中使用命令模式的实例 339
20.8 在SportsStore 应用中使用命令模式 340
20.8.1 准备示例项目 340
20.8.2 实现撤销功能 340
20.9 总结 343
第21 章 中介者模式 344
21.1 准备示例项目 344
21.2 此模式旨在解决的问题 346
21.3 中介者模式 348
21.4 实现中介 精通Swift设计模式 下载 mobi epub pdf txt 电子书 格式

精通Swift设计模式 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

精通Swift设计模式 下载 mobi pdf epub txt 电子书 格式 2024

精通Swift设计模式 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

好书,适合有一定基础的人看

评分

包装不错

评分

版本稍旧了,先看着,接下来只能更多地看官方文档了!

评分

基础开发用的 不错

评分

学习中,作者写的很用心,不错

评分

书质量不错

评分

还没看,应该不错,就是学习学习,与时俱进

评分

挺好的

评分

好书,适合有一定基础的人看

类似图书 点击查看全场最低价

精通Swift设计模式 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.teaonline.club All Rights Reserved. 图书大百科 版权所有