
深入理解Scala
¥37.76
作品简介
本书由Scala之父作序推荐,深入探讨了Scala里几个较为复杂的领域,包括类型系统的高阶内容、隐式转换、特质的组合技巧、集合、Actor、函数式编程的范畴论等,而且不是干巴巴地讲述语言和库的概念。本书示例丰富,是目前为止该领域最好的参考书籍,非常适合有经验的Scala程序员向专家水平进阶的参考读物。本书适合想要了解Scala语言的底层机制和技术细节的读者阅读参考,是学习Scala语言的上上之选择。
Joshua D. Suereth是Typesafe公司的一名软件工程师,它是Scala的Committer之一,也是scala-tools.org的维护者。
作品目录
前言
关于本书
致谢
自序
第1章 Scala——一种混合式编程语言
1.1 Scala的设计哲学
1.2 当函数式编程遇见面向对象
1.3 静态类型和表达力
1.4 与JVM的无缝集成
1.5 总结
第2章 核心规则
2.1 学习使用Scala交互模式(REPL)
2.2 优先采用面向表达式编程
2.3 优先选择不变性
2.4 用None不用null
2.5 多态场景下的判等
2.6 总结
第3章 来点样式——编码规范
3.1 避免照搬其他语言的编码规范
3.2 空悬的操作符和括号表达式
3.3 使用有意义的命名
3.4 总是标记覆盖(overriden)方法
3.5 对期望的优化进行标注
3.6 总结
第4章 面向对象编程
4.1 限制在对象或特质的body里初始化逻辑的代码
4.12 多重继承又来了
4.2 为特质的抽象方法提供空实现
4.3 组合可以包含继承
4.4 提升抽象接口为独立特质
4.5 public接口应当提供返回值
4.6 总结
第5章 利用隐式转换写更有表达力
5.1 介绍隐式转换系统
5.2 隐式视图:强化已存在的类
5.3 隐式参数结合默认参数
5.4 限制隐式系统的作用域
5.5 总结
第6章 类型系统
6.1 类型
6.2 类型约束
6.3 类型参数和高阶类型(Higher Kinded Types)
6.4 型变(Variance)
6.5 存在类型
6.6 总结
第7章 隐式转换和类型系统结合应用
7.1 上下文边界和视图边界
7.2 用隐式转换来捕捉类型
7.3 使用类型类(typeclass)
7.4 用类型系统实现条件执行
7.5 总结
第8章 Scala 集合库
8.1 使用正确的集合类型
8.2 不可变集合
8.3 可变集合
8.4 用视图和并行集合来改变计算策略
8.5 编写能处理所有集合类型的方法
8.6 总结
第9章 Actors
9.1 使用Actor的时机
9.2 使用有类型的、透明的引用
9.3 把故障限制在故障区里
9.4 利用排期区控制负载
9.5 动态Actor拓扑
9.6 总结
第10章 Scala 和Java 集成
10.1 Scala/Java不匹配
10.2 谨慎使用隐式转换
10.3 小心Java序列化
10.4 注解你的注解
10.5 总结
第11章 函数式编程
11.1 计算机科学领域的范畴论
11.2 函子(Functor),Monad及它们与范畴的关系
11.3 咖喱化和可应用风格(Applicativestyle)
11.4 用作工作流的单子
11.5 总结