编程风格
出版信息
[美] Cristina Videira Lopes / 顾中磊 / 人民邮电出版社 / 2017-8 / 55.00元
内容简介
本书对一个常见的编程问题定义了不同的约束,分别使用33种方法实现了同一个词频统计任务,从而形成了风格迥异的编程风格。作者以惯用的计算机语言与简单的任务为画笔,描绘了一次生动难忘的编程之旅,帮助读者加深了对语言的理解,也提供了崭新的编程思路。
作者简介
Cristina Videira Lopes
是美国加州大学欧文分校,唐纳德•布伦信息与计算机科学学院信息学专业教授,研究方向是大规模数据和系统下的软件工程。在其职业生涯早年,曾是施乐帕罗奧多研究中心(Xerox PARC)面向方向编程及AspectJ编程语言团队的初创成员。除其研究项目以外,Cristina也是一位多产的软件开发者。她对于开源项目的贡献包括水下声纳调制解调软件和虚拟世界服务OpenSimulator。她是一家专注于为早期可持续城市重建项目提供在线虚拟现实服务的公司的联合创始人。她开发并维护了一款基于OpenSimulator虚拟世界的搜索引擎。
目录
第一部分 悠久历史
第1章 往日的美好 2
1.1 约束 2
1.2 代码 3
1.3 注解 5
1.4 系统设计中的应用 6
1.5 发展历程 7
1.6 拓展阅读 7
1.7 词汇表 8
1.8 练习 8
第2章 Forth风格 9
2.1 约束 9
2.2 代码 10
2.3 注解 12
2.4 发展历程 14
2.5 拓展阅读 14
2.6 词汇表 14
2.7 练习 15
第二部分 基本风格
第3章 单片风格 18
3.1 约束 18
3.2 代码 19
3.3 注解 20
3.4 系统设计中的应用 21
3.5 拓展阅读 22
3.6 词汇表 22
3.7 练习 22
第4章 食谱风格 23
4.1 约束 23
4.2 代码 24
4.3 注解 25
4.4 系统设计中的应用 26
4.5 发展历程 27
4.6 拓展阅读 27
4.7 词汇表 27
4.8 练习 28
第5章 流水线风格 29
5.1 约束 29
5.2 代码 30
5.3 注解 31
5.4 系统设计中的应用 33
5.5 发展历程 33
5.6 拓展阅读 34
5.7 词汇表 35
5.8 练习 35
第6章 高尔夫风格 36
6.1 约束 36
6.2 代码 37
6.3 注解 37
6.4 系统设计中的应用 38
6.5 发展历程 39
6.6 拓展阅读 39
6.7 词汇表 39
6.8 练习 39
第三部分 函数组合
第7章 无限镜像风格 42
7.1 约束 42
7.2 代码 43
7.3 注解 44
7.4 发展历程 44
7.5 拓展阅读 45
7.6 词汇表 45
7.7 练习 45
第8章 骨牌风格 46
8.1 约束 46
8.2 代码 47
8.3 注解 48
8.4 系统设计中的应用 48
8.5 发展历程 49
8.6 拓展阅读 49
8.7 词汇表 49
8.8 练习 50
第9章 单子风格 51
9.1 约束 51
9.2 代码 52
9.3 注解 53
9.4 发展历程 54
9.5 拓展阅读 54
9.6 词汇表 54
9.7 练习 55
第四部分 对象与对象交互
第10章 对象风格 58
10.1 约束 58
10.2 代码 59
10.3 注解 60
10.4 系统设计中的应用 62
10.5 发展历程 63
10.6 拓展阅读 63
10.7 词汇表 63
10.8 练习 64
第11章 消息风格 65
11.1 约束 65
11.2 代码 66
11.3 注解 68
11.4 系统设计中的应用 68
11.5 发展历程 68
11.6 拓展阅读 69
11.7 词汇表 69
11.8 练习 69
第12章 闭域风格 70
12.1 约束 70
12.2 代码 71
12.3 注解 72
12.4 发展历程 73
12.5 拓展阅读 73
12.6 词汇表 73
12.7 练习 73
第13章 抽象对象风格 75
13.1 约束 75
13.2 代码 76
13.3 注解 78
13.4 系统设计中的应用 80
13.5 发展历程 80
13.6 拓展阅读 80
13.7 词汇表 81
13.8 练习 81
第14章 好莱坞风格 82
14.1 约束 82
14.2 代码 83
14.3 注解 85
14.4 系统设计中的应用 86
14.5 发展历程 86
14.6 拓展阅读 86
14.7 词汇表 87
14.8 练习 87
第15章 公告板风格 88
15.1 约束 88
15.2 代码 89
15.3 注解 91
15.4 系统设计中的应用 92
15.5 发展历程 92
15.6 拓展阅读 92
15.7 词汇表 93
15.8 练习 93
第五部分 反射与元编程
第16章 内省风格 96
16.1 约束 96
16.2 代码 97
16.3 注解 98
16.4 系统设计中的应用 98
16.5 词汇表 98
16.6 练习 99
第17章 反射风格 100
17.1 约束 100
17.2 代码 101
17.3 注解 102
17.4 系统设计中的应用 103
17.5 发展历程 103
17.6 拓展阅读 104
17.7 词汇表 104
17.8 练习 105
第18章 切面风格 106
18.1 约束 106
18.2 代码 107
18.3 注解 108
18.4 发展历程 108
18.5 拓展阅读 109
18.6 词汇表 109
18.7 练习 109
第19章 插件风格 111
19.1 约束 111
19.2 代码 112
19.3 注解 113
19.4 系统设计中的应用 114
19.5 发展历程 115
19.6 拓展阅读 115
19.7 词汇表 116
19.8 练习 116
第六部分 异常处理
第20章 构建风格 118
20.1 约束 118
20.2 代码 119
20.3 注解 120
20.4 系统设计中的应用 121
20.5 练习 121
第21章 Tantrum风格 122
21.1 约束 122
21.2 代码 123
21.3 注解 124
21.4 系统设计中的应用 125
21.5 拓展阅读 125
21.6 词汇表 125
21.7 练习 125
第22章 消极攻击风格 126
22.1 约束 126
22.2 代码 127
22.3 注解 128
22.4 发展历程 128
22.5 拓展阅读 128
22.6 词汇表 129
22.7 练习 129
22.8 构建风格 VS. Tantrum VS.消极攻击风格 130
第23章 声明意图风格 131
23.1 约束 131
23.2 代码 132
23.3 注解 133
23.4 发展历程 134
23.5 拓展阅读 135
23.6 词汇表 135
23.7 练习 136
第24章 隔离风格 137
24.1 约束 137
24.2 代码 138
24.3 注解 139
24.4 系统设计中的应用 142
24.5 发展历程 143
24.6 拓展阅读 143
24.7 词汇表 143
24.8 练习 143
第七部分 以数据为中心
第25章 持久表风格 146
25.1 约束 146
25.2 代码 147
25.3 注解 148
25.4 系统设计中的应用 149
25.5 发展历程 149
25.6 拓展阅读 150
25.7 词汇表 150
25.8 练习 150
第26章 试算表风格 151
26.1 约束 151
26.2 代码 152
26.3 注解 153
26.4 系统设计中的应用 153
26.5 发展历程 154
26.6 拓展阅读 154
26.7 词汇表 154
26.8 练习 154
第27章 漂流风格 155
27.1 约束 155
27.2 代码 156
27.3 注解 157
27.4 系统设计中的应用 158
27.5 发展历程 158
27.6 拓展阅读 158
27.7 词汇表 159
27.8 练习 159
第八部分 并发
第28章 参与者风格 162
28.1 约束 162
28.2 代码 163
28.3 注解 165
28.4 系统设计中的应用 167
28.5 发展历程 167
28.6 拓展阅读 167
28.7 词汇表 167
28.8 练习 168
第29章 数据空间风格 169
29.1 约束 169
29.2 代码 170
29.3 注解 171
29.4 系统设计中的应用 171
29.5 发展历程 171
29.6 拓展阅读 172
29.7 词汇表 172
29.8 练习 172
第30章 Map Reduce风格 173
30.1 约束 173
30.2 代码 174
30.3 注解 175
30.4 系统设计中的应用 176
30.5 发展历程 177
30.6 拓展阅读 177
30.7 词汇表 177
30.8 练习 177
第31章 双重Map Reduce风格 179
31.1 约束 179
31.2 代码 180
31.3 注解 181
31.4 系统设计中的应用 182
31.5 发展历程 182
31.6 拓展阅读 183
31.7 练习 183
第九部分 交互
第32章 三层架构风格 186
32.1 约束 186
32.2 代码 187
32.3 注解 188
32.4 系统设计中的应用 191
32.5 发展历程 191
32.6 拓展阅读 191
32.7 词汇表 191
32.8 练习 191
第33章 RESTful风格 193
33.1 约束 193
33.2 代码 194
33.3 注解 196
33.4 系统设计中的应用 199
33.5 发展历程 199
33.6 拓展阅读 199
33.7 词汇表 200
33.8 练习 200