注重体验与质量的电子书资源下载网站
分类于: 其它 云计算&大数据
简介
Python设计模式 豆 0.0分
资源最后更新于 2020-11-15 04:32:01
作者:Wessel Badenhorst
译者:蒲成
出版社:清华大学出版社
出版日期:2018-01
ISBN:9787302516453
文件格式: pdf
标签: Python 设计模式 编程 DesignPatterns 软件工程 计算机科学 计算机 重读
简介· · · · · ·
Python正在迅速扩张其应用领域。最近几年,其应用意义已经令其远不止于仅仅是一种面向对象的脚本化语言。设计模式有助于我们模块式地思考和解决问题,帮助我们收集和分析思维模型。
《Python 设计模式》从设计模式的角度,结合各个示例深入浅出地讲解了各种设计模式在Python 中的实现,为读者描述了Python 式设计模式的应有结构以及应该避免的误区。《Python 设计模式》的高度较一般的Python 开发类书籍要高,要求读者具备一定的软件开发和架构经验,否则就可能无法很好地理解本书中讲解的内容。
从设计模式的角度,结合19个示例深入浅出地讲解了各种设计模式在Python 中的实现,描述了Python 式设计模式的应有结构以及应该避免的误区。
目录
第1章 前述 1
1.1 大师 1
1.2 成为更优秀的程序员 3
1.2.1 刻意训练 4
1.2.2 单一关注点 4
1.2.3 快速反馈 5
1.2.4 自我拓展 5
1.2.5 站在巨人的肩膀上 6
1.2.6 如何入手 6
1.2.7 保持路线正确的能力 7
1.3 系统化思考 8
1.4 思维模型 8
1.5 这项任务的适用工具 9
1.6 设计模式的概念 9
1.6.1 是什么造就了设计模式 10
1.6.2 分类 10
1.7 将用到的工具 11
1.8 本书的阅读方式 12
1.9 配置Python环境 12
1.9.1 Linux环境 12
1.9.2 Mac环境 13
1.9.3 Windows环境 14
1.9.4 VirtualEnv 15
1.10 编辑器 16
1.10.1 Atom 16
1.10.2 LightTable 16
1.10.3 PyCharm 16
1.10.4 Vim 17
1.10.5 Emacs 17
1.10.6 Sublime Text 17
1.11 本章小结 18
第2章 单例模式 19
2.1 问题 19
2.2 进入对象 23
2.3 整理 26
2.4 练习 29
第3章 原型模式 31
3.1 问题 31
3.2 迈出第一步之后 31
3.3 一个真实游戏的基础 32
3.4 实现原型模式 41
3.5 浅拷贝与深拷贝的对比 42
3.6 浅拷贝 43
3.7 处理嵌套结构 43
3.8 深拷贝 44
3.9 将所学知识用在项目中 45
3.10 练习 48
第4章 工厂模式 49
4.1 准备开始 49
4.2 游戏循环 50
4.3 工厂方法 54
4.4 抽象工厂 56
4.5 本章小结 57
4.6 练习 58
第5章 建造者模式 59
5.1 反模式 65
5.2 练习 70
第6章 适配器模式 71
6.1 不要重复自己(DRY) 72
6.2 关注点分离 73
6.3 样本问题 75
6.3.1 类适配器 76
6.3.2 对象适配器模式 77
6.3.3 鸭子类型 77
6.4 在现实环境中实现适配器模式 78
6.5 结束语 80
6.6 练习 81
第7章 装饰器模式 83
7.1 装饰器模式 85
7.1.1 闭包 89
7.1.2 保留函数的__name__和__doc__属性 89
7.2 装饰类 92
7.3 结束语 94
7.4 练习 95
第8章 外观模式 97
8.1 POS示例 97
8.2 系统演进 100
8.3 使外观模式凸显出来的原因 101
8.4 结束语 103
8.5 练习 104
第9章 代理模式 105
9.1 记忆法 105
9.2 代理模式 107
9.2.1 远程代理 109
9.2.2 虚拟代理 110
9.2.3 保护代理 110
9.3 结束语 110
9.4 练习 110
第10章 责任链模式 113
10.1 安装一台WSGI服务器 114
10.2 身份验证头信息 115
10.3 责任链模式 119
10.4 在项目中实现责任链 121
10.5 一种更趋Python化的实现 124
10.6 结束语 128
10.7 练习 129
第11章 命令模式 131
11.1 控制turtle 131
11.2 命令模式 133
11.3 结束语 138
11.4 练习 139
第12章 解释器模式 141
12.1 特定领域语言 141
12.1.1 DSL的优势 144
12.1.2 DSL的劣势 144
12.1.3 组合模式 148
12.1.4 使用组合模式的内部DSL实现 149
12.2 实现解释器模式 152
12.3 结束语 157
12.4 练习 158
第13章 迭代器模式 159
13.1 迭代器模式的Python内部实现 161
13.1.1 Itertools 166
13.1.2 生成器函数 167
13.1.3 生成器表达式 169
13.2 结束语 169
13.3 练习 170
第14章 观察者模式 171
14.1 结束语 183
14.2 练习 183
第15章 状态模式 185
15.1 状态模式 187
15.2 结束语 191
15.3 练习 191
第16章 策略模式 193
16.1 结束语 197
16.2 练习 197
第17章 模板方法模式 199
17.1 结束语 207
17.2 练习 208
第18章 访问者模式 209
18.1 访问者模式 218
18.2 结束语 226
18.3 练习 227
第19章 模型-视图-控制器模式 229
19.1 模型-视图-控制器概述 232
19.1.1 控制器 234
19.1.2 模型 234
19.1.3 视图 235
19.1.4 总述 235
19.2 结束语 239
19.3 练习 240
第20章 发布-订阅模式 241
20.1 分布式消息发送器 246
20.2 结束语 248
20.3 练习 249
附录 设计模式快速参考 251
1.1 大师 1
1.2 成为更优秀的程序员 3
1.2.1 刻意训练 4
1.2.2 单一关注点 4
1.2.3 快速反馈 5
1.2.4 自我拓展 5
1.2.5 站在巨人的肩膀上 6
1.2.6 如何入手 6
1.2.7 保持路线正确的能力 7
1.3 系统化思考 8
1.4 思维模型 8
1.5 这项任务的适用工具 9
1.6 设计模式的概念 9
1.6.1 是什么造就了设计模式 10
1.6.2 分类 10
1.7 将用到的工具 11
1.8 本书的阅读方式 12
1.9 配置Python环境 12
1.9.1 Linux环境 12
1.9.2 Mac环境 13
1.9.3 Windows环境 14
1.9.4 VirtualEnv 15
1.10 编辑器 16
1.10.1 Atom 16
1.10.2 LightTable 16
1.10.3 PyCharm 16
1.10.4 Vim 17
1.10.5 Emacs 17
1.10.6 Sublime Text 17
1.11 本章小结 18
第2章 单例模式 19
2.1 问题 19
2.2 进入对象 23
2.3 整理 26
2.4 练习 29
第3章 原型模式 31
3.1 问题 31
3.2 迈出第一步之后 31
3.3 一个真实游戏的基础 32
3.4 实现原型模式 41
3.5 浅拷贝与深拷贝的对比 42
3.6 浅拷贝 43
3.7 处理嵌套结构 43
3.8 深拷贝 44
3.9 将所学知识用在项目中 45
3.10 练习 48
第4章 工厂模式 49
4.1 准备开始 49
4.2 游戏循环 50
4.3 工厂方法 54
4.4 抽象工厂 56
4.5 本章小结 57
4.6 练习 58
第5章 建造者模式 59
5.1 反模式 65
5.2 练习 70
第6章 适配器模式 71
6.1 不要重复自己(DRY) 72
6.2 关注点分离 73
6.3 样本问题 75
6.3.1 类适配器 76
6.3.2 对象适配器模式 77
6.3.3 鸭子类型 77
6.4 在现实环境中实现适配器模式 78
6.5 结束语 80
6.6 练习 81
第7章 装饰器模式 83
7.1 装饰器模式 85
7.1.1 闭包 89
7.1.2 保留函数的__name__和__doc__属性 89
7.2 装饰类 92
7.3 结束语 94
7.4 练习 95
第8章 外观模式 97
8.1 POS示例 97
8.2 系统演进 100
8.3 使外观模式凸显出来的原因 101
8.4 结束语 103
8.5 练习 104
第9章 代理模式 105
9.1 记忆法 105
9.2 代理模式 107
9.2.1 远程代理 109
9.2.2 虚拟代理 110
9.2.3 保护代理 110
9.3 结束语 110
9.4 练习 110
第10章 责任链模式 113
10.1 安装一台WSGI服务器 114
10.2 身份验证头信息 115
10.3 责任链模式 119
10.4 在项目中实现责任链 121
10.5 一种更趋Python化的实现 124
10.6 结束语 128
10.7 练习 129
第11章 命令模式 131
11.1 控制turtle 131
11.2 命令模式 133
11.3 结束语 138
11.4 练习 139
第12章 解释器模式 141
12.1 特定领域语言 141
12.1.1 DSL的优势 144
12.1.2 DSL的劣势 144
12.1.3 组合模式 148
12.1.4 使用组合模式的内部DSL实现 149
12.2 实现解释器模式 152
12.3 结束语 157
12.4 练习 158
第13章 迭代器模式 159
13.1 迭代器模式的Python内部实现 161
13.1.1 Itertools 166
13.1.2 生成器函数 167
13.1.3 生成器表达式 169
13.2 结束语 169
13.3 练习 170
第14章 观察者模式 171
14.1 结束语 183
14.2 练习 183
第15章 状态模式 185
15.1 状态模式 187
15.2 结束语 191
15.3 练习 191
第16章 策略模式 193
16.1 结束语 197
16.2 练习 197
第17章 模板方法模式 199
17.1 结束语 207
17.2 练习 208
第18章 访问者模式 209
18.1 访问者模式 218
18.2 结束语 226
18.3 练习 227
第19章 模型-视图-控制器模式 229
19.1 模型-视图-控制器概述 232
19.1.1 控制器 234
19.1.2 模型 234
19.1.3 视图 235
19.1.4 总述 235
19.2 结束语 239
19.3 练习 240
第20章 发布-订阅模式 241
20.1 分布式消息发送器 246
20.2 结束语 248
20.3 练习 249
附录 设计模式快速参考 251