C#函数式程序设计 经典编程技术在现代项目中的应用PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(英)斯图姆著;吴文国译
- 出 版 社:北京:清华大学出版社
- 出版年份:2013
- ISBN:9787302302346
- 页数:254 页
第Ⅰ部分 函数式程序设计引言 3
第1章 函数式程序设计简史 3
1.1函数式程序设计简介 3
1.2函数式程序设计语言 4
1.3与面向对象程序设计的关系 7
1.4小结 7
第2章 函数式程序设计思想在现代项目中的应用 9
2.1控制副作用 10
2.2敏捷开发方法 11
2.3声明式程序设计 11
2.4函数式程序设计的定向思维 11
2.5用C#实现函数式程序设计的可行性 12
2.6小结 13
第Ⅱ部分C#函数式程序设计基础 17
第3章 函数、委托和Lambda表达式 17
3.1函数与方法 17
3.2重用函数 19
3.3匿名函数与Lambda表达式 22
3.4扩展方法 25
3.5引用透明 27
3.6小结 29
第4章 泛型 31
4.1泛型函数 32
4.2泛型类 33
4.3约束类型 35
4.4其他泛型类型 36
4.5协变与逆变 38
4.6小结 41
第5章惰性列表工具——迭代器 43
5.1什么是惰性 43
5.2用.NET方法枚举元素 44
5.3迭代器函数的实现 47
5.4链式迭代器 51
5.5小结 53
第6章 用闭包封装数据 55
6.1动态创建函数 55
6.2作用域存在的问题 56
6.3闭包的工作机制 56
6.4小结 60
第7章 代码即数据 61
7.1 .NET中的表达式树 62
7.2分析表达式 63
7.3生成表达式 68
7.4 .NET 4.0特性 71
7.5小结 73
第Ⅲ部分用C#实现常用的函数式设计技术 77
第8章 局部套用与部分应用 77
8.1参数的解耦 77
8.1.1手动局部套用 78
8.1.2自动局部套用 79
8.1.3调用局部套用函数 81
8.1.4类上下文 81
8.1.5 FCSlib库的内容 84
8.2调用函数的各部分 86
8.3参数顺序的重要性 88
8.4小结 89
第9章 惰性求值 91
9.1惰性求值的优点 92
9.2传递函数 93
9.3显式的惰性求值 94
9.4惰性求值方法的比较 98
9.4.1可用性 98
9.4.2效率 98
9.5惰性求值方法的选择 99
9.6小结 99
第10章 缓存技术 101
10.1记住以前结果的重要性 101
10.2预计算 102
10.3缓存 107
10.3.1深度缓存 110
10.3.2缓存的几个考虑因素 113
10.4小结 114
第11章 递归调用 115
11.1 C#中的递归 115
11.2尾递归 117
11.3累加器传递模式 119
11.4后继传递模式 120
11.5间接递归 123
11.6小结 126
第12章 标准高阶函数 127
12.1应用运算:Map 127
12.2使用筛选条件:Filter 128
12.3累加操作:Fold 129
12.4 LINQ中的Map、Filter和Fold 134
12.5标准高阶函数 135
12.6小结 136
第13章 序列 137
13.1何为列表推导 137
13.2用函数方法实现迭代器 138
13.3值域 139
13.4限制 141
13.5小结 143
第14章 由函数构建函数 145
14.1组合函数 145
14.2高级的部分应用 148
14.3各种方法的综合 150
14.4小结 154
第15章 可选值 155
15.1空值的含义 155
15.2可选值的实现 156
15.3小结 161
第16章 防止数据变化 163
16.1变化不总是件好事 163
16.2错误的假定 164
16.2.1静态数据受欢迎 165
16.2.2深度问题 166
16.2.3克隆 167
16.2.4自动克隆 168
16.3实现不可变容器数据类型 172
16.3.1链表 172
16.3.2队列 178
16.3.3非平衡的二叉树 180
16.3.4红黑树 183
16.4持久数据类型的替代选择 185
16.5小结 186
第17章 单子 187
17.1类型类的概念 188
17.2单子的概念 191
17.3使用抽象的原因 191
17.4 Logger单子 195
17.5含糖语法 197
17.6用SelectMany方法建立绑定 197
17.7小结 199
第Ⅳ部分 函数式设计的实际应用 203
第18章 函数式程序设计技术的综合应用 203
18.1重构 204
18.1.1用Windows Forms UI实现列表筛选 204
18.1.2 Mandelbrot分形计算 210
18.2编写新代码 217
18.2.1使用静态方法 217
18.2.2优先考虑匿名函数 219
18.2.3优先考虑高阶函数 220
18.2.4优先考虑不可变数据 221
18.2.5注意类中行为的实现 222
18.3寻找可以替代函数式设计的其他方法 222
18.3.1其他需要考虑的问题 222
18.3.2使用已有代码 224
18.4小结 225
第19章MapReduce模式 227
19.1 MapReduce的实现 228
19.2问题的抽象 231
19.3小结 233
第20章 函数模块化思想的应用 235
20.1在应用程序中执行SQL代码 235
20.2用部分应用和预计算重写函数 237
20.3小结 239
第21章 函数式技术在现有项目中的应用 241
21.1 .NET Framework 241
21.2 LINQ 243
21.2.1 LINQ to Objects 243
21.2.2 LINQ到查询后台 247
21.2.3并行化 249
21.3 Google MapReduce及其实现 250
21.4 NUnit 252
21.5小结 254
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《古代巴比伦》(英)莱昂纳德·W.金著 2019
- 《BBC人体如何工作》(英)爱丽丝.罗伯茨 2019
- 《一个数学家的辩白》(英)哈代(G.H.Hardy)著;李文林,戴宗铎,高嵘译 2019
- 《莎士比亚全集 2》(英)莎士比亚著,朱生豪等译 2002
- 《莎士比亚戏剧精选集》(英)威廉·莎士比亚(William Shakespeare)著 2020
- 《莎士比亚 叙事诗·抒情诗·戏剧》(英)威廉·莎士比亚著 2019
- 《亚历山大继业者战争 上 将领与战役》(英)鲍勃·本尼特,(英)麦克·罗伯茨著;张晓媛译 2019
- 《孩子们的音乐之旅 1 宝宝睡觉 幼儿版》包菊英主编 2016
- 《超级参与者》王金强责编;赵磊译者;(澳)杰里米·海曼斯,(英)亨利·蒂姆斯 2020
- 《物联网导论》张翼英主编 2020
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019