网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 C#函数式程序设计--经典编程技术在现代项目中的应用
分类
作者 (英)斯图姆
出版社 清华大学出版社
下载
简介
编辑推荐

《C#函数式程序设计——经典编程技术在现代项目中的应用》介绍函数式程序设计的基本概念,以及如何把这些概念应用到C#语言中。作者斯图姆尽量提供具有实用背景的示例,但是大多数例子只考虑到语言因素。函数式程序设计是一种与代码、算法和程序结构有关的技术—这一点不同于程序的体系结构。当然,它需要与程序的体系结构相兼容。须知,有时很难在太理论化与偏离重点之间做到理想的平衡,但是作者已尽了最大的努力。

内容推荐

《C#函数式程序设计——经典编程技术在现代项目中的应用》为C#程序设计提供了一个独一无二的新方法——即利用函数式编程方法解决开发中的实际问题。作为C#语言的专家和微软MVP,作者斯图姆详细介绍了C#重要的语言功能,论述了在C#里使用函数式方法的理论基础和实践过程。本书提供了众多的不同类型实例,这些实例结合了多个方法解决不同领域里的问题,既包括了并行计算和高性能计算等复杂的问题,也包括了Web服务和商业逻辑实现等简单的用例。《C#函数式程序设计——经典编程技术在现代项目中的应用》希望帮助程序员在C#语言里找到问题的解决方案,并向读者介绍C#函数式编程的优点和缺点。本书的主要目的是帮助程序员最大限度地利用已知的程序设计技术。

目录

第Ⅰ部分 函数式程序设计引言

第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#函数式程序设计基础第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#实现常用的函数式设计技术第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

第Ⅳ部分 函数式设计的实际应用

第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

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/4/26 22:55:10