图书介绍

深入理解ScalaPDF|Epub|txt|kindle电子书版本网盘下载

深入理解Scala
  • (美)苏瑞茨著 著
  • 出版社: 北京:人民邮电出版社
  • ISBN:9787115365545
  • 出版时间:2015
  • 标注页数:274页
  • 文件大小:72MB
  • 文件页数:288页
  • 主题词:JAVA语言-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

深入理解ScalaPDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 Scala——一种混合式编程语言1

1.1 Scala的设计哲学1

1.2 当函数式编程遇见面向对象3

1.2.1 重新发现函数式概念4

1.2.2 Google Collections中的函数式概念6

1.3 静态类型和表达力8

1.3.1 换边8

1.3.2 类型推断9

1.3.3 抛开语法10

1.3.4 隐式转换概念早已有之11

1.3.5 使用Scala的implicit关键字12

1.4 与JVM的无缝集成13

1.4.1 Scala调用Java13

1.4.2 Java调用Scala14

1.4.3 JVM的优越性15

1.5 总结16

第2章 核心规则17

2.1 学习使用Scala交互模式(REPL)17

2.1.1 实验驱动开发19

2.1.2 绕过积极(eaglerly)解析20

2.1.3 无法表现的语言特性21

2.2 优先采用面向表达式编程22

2.2.1 方法和模式匹配23

2.2.2 可变性24

2.3 优先选择不变性26

2.3.1 判等27

2.3.2 并发31

2.4 用None不用null34

2.5 多态场景下的判等38

2.5.1 例子:时间线库38

2.5.2 多态判等实现40

2.6 总结43

第3章 来点样式——编码规范44

3.1 避免照搬其他语言的编码规范45

3.2 空悬的操作符和括号表达式48

3.3 使用有意义的命名50

3.3.1 命名时避免$符号51

3.3.2 使用命名和默认参数53

3.4 总是标记覆盖(overriden)方法56

3.5 对期望的优化进行标注61

3.6 总结66

第4章 面向对象编程68

4.1 限制在对象或特质的body里初始化逻辑的代码68

4.1.1 延迟构造69

4.1.2 多重继承又来了70

4.2 为特质的抽象方法提供空实现71

4.3 组合可以包含继承76

4.3.1 通过继承组合成员79

4.3.2 经典构造器with a twist80

4.3.3 总结82

4.4 提升抽象接口为独立特质82

4.4.1 和接口交互84

4.4.2 从历史中吸取教训85

4.4.3 结论86

4.5 public接口应当提供返回值86

4.6 总结88

第5章 利用隐式转换写更有表达力89

5.1 介绍隐式转换系统90

5.1.1 题外话:标识符91

5.1.2 作用域和绑定93

5.1.3 隐式解析97

5.1.4 通过类型参数获得隐式作用域99

5.1.5 通过嵌套获得隐式作用域100

5.2 隐式视图:强化已存在的类101

5.3 隐式参数结合默认参数106

5.4 限制隐式系统的作用域112

5.4.1 为导入创建隐式转换112

5.4.2 没有导入税(import tax)的隐式转换114

5.5 总结118

第6章 类型系统119

6.1 类型120

6.1.1 类型和路径121

6.1.2 type关键字123

6.1.3 结构化类型124

6.2 类型约束130

6.3 类型参数和高阶类型(Higher Kinded Types)133

6.3.1 类型参数约束133

6.3.2 高阶类型134

6.4 型变(Variance)136

6.5 存在类型143

6.6 总结148

第7章 隐式转换和类型系统结合应用149

7.1 上下文边界和视图边界149

7.2 用隐式转换来捕捉类型152

7.2.1 捕获类型用于运行时计算(capturing types for runtime evaluation)152

7.2.2 使用Manifest153

7.2.3 捕捉类型约束154

7.2.4 特定方法(Specialized method)156

7.3 使用类型类(type class)158

7.3.1 作为类型类的FileLike161

7.3.2 类型类的好处164

7.4 用类型系统实现条件执行165

7.4.1 异构类型List167

7.4.2 IndexedView170

7.5 总结177

第8章 Scala集合库178

8.1 使用正确的集合类型179

8.1.1 集合库继承层次179

8.1.2 Traversable180

8.1.3 Iterable184

8.1.4 Seq185

8.1.5 LinearSeq186

8.1.6 IndexedSeq188

8.1.7 Set189

8.1.8 Map189

8.2 不可变集合191

8.2.1 Vector191

8.2.2 List193

8.2.3 Stream(流)194

8.3 可变集合197

8.3.1 ArrayBuffer197

8.3.2 混入修改事件发布特质198

8.3.3 混入串行化特质198

8.4 用视图和并行集合来改变计算策略199

8.4.1 视图200

8.4.2 并行集合201

8.5 编写能处理所有集合类型的方法204

8.6 总结209

第9章 Actors210

9.1 使用Actor的时机210

9.2 使用有类型的、透明的引用214

9.3 把故障限制在故障区里219

9.3.1 发散搜集故障区219

9.3.2 通常的故障处理实践222

9.4 利用排期区控制负载223

9.5 动态Actor拓扑226

9.6 总结231

第10章 Scala和Java集成232

10.1 Scala/Java不匹配233

10.1.1 基础类型自动打包的差异234

10.1.2 可见性的差异238

10.1.3 不可表达的语言特性239

10.2 谨慎使用隐式转换242

10.2.1 对象标识和判等242

10.2.2 链式隐式转换244

10.3 小心Java序列化246

10.4 注解你的注解250

10.4.1 注解目标252

10.4.2 Scala和静态属性253

10.5 总结254

第11章 函数式编程255

11.1 计算机科学领域的范畴论255

11.2 函子(Functor),Monad及它们与范畴的关系259

11.3 咖喱化和可应用风格(Applicative style)264

11.3.1 咖喱化265

11.3.2 可应用风格267

11.4 用作工作流的单子270

11.5 总结274

热门推荐