産品特色
內容簡介
Scala是一種多範式的編程語言,它既支持麵嚮對象編程,也支持函數式編程的各種特性。
《深入理解Scala》深入探討瞭Scala裏幾個較為復雜的領域,包括類型係統的高階內容、隱式轉換、特質的組閤技巧、集閤、Actor、函數式編程的範疇論等,而且不是乾巴巴地講述語言和庫的概念。《深入理解Scala》充滿各種實用的建議和佳實踐,可以來幫助讀者學習怎樣把Scala裏較少被掌握的部分應用到工作中。
《深入理解Scala》不是Scala的入門級教程,而是適閤有經驗的Scala程序員嚮專傢水平進階的參考讀物。《深入理解Scala》適閤想要瞭解Scala語言的底層機製和技術細節的讀者閱讀參考。
作者簡介
Josh Suereth,是Typesafe公司的一名軟件工程師,它是Scala的Committer之一,也是scala-tools.org的維護者。
內頁插圖
精彩書評
★“quanwei並且易於理解”。
——Martin Odersky Scala之父
★“帶你深入Scala的內部工作機製”。
——John C Tyler PROS Pricing
★“目前為止,我在技術書裏讀到過的zui好的示例”。
——Eric Weinberg Wagger Designs
★“一本開拓眼界的書,現在我對Scala知其所以然瞭”。
——John Criffin Hibernate Search in Action閤著者
目錄
第1章 Scala——一種混閤式編程語言
1.1 Scala的設計哲學
1.2 當函數式編程遇見麵嚮對象
1.2.1 重新發現函數式概念
1.2.2 Google Collections中的函數式概念
1.3 靜態類型和錶達力
1.3.1 換邊
1.3.2 類型推斷
1.3.3 拋開語法1
1.3.4 隱式轉換概念早已有之
1.3.5 使用Scala的implicit關鍵字
1.4 與JVM的縫集成
1.4.1 Scala調用Java
1.4.2 Java調用Scala
1.4.3 JVM的優越性
1.5 總結
第2章 核心規則
2.1 學習使用Scala交互模式(REPL)
2.1.1 實驗驅動開發
2.1.2 繞過積極(eaglerly)解析
2.1.3 法錶現的語言特性
2.2 優先采用麵嚮錶達式編程
2.2.1 方法和模式匹配
2.2.2 可變性
2.3 優先選擇不變性
2.3.1 判等
2.3.2 並發
2.4 用None不用null
2.5 多態場景下的判等
2.5.1 例子:時間綫庫
2.5.2 多態判等實現
2.6 總結
第3章 來點樣式-編碼規範
3.1 避免照搬其他語言的編碼規範
3.2 空懸的操作符和括號錶達式
3.3 使用有意義的命名
3.3.1 命名時避免$符號
3.3.2 使用命名和默認參數
3.4 總是標記覆蓋(overriden)方法
3.5 對期望的優化進行標注
3.6 總結
第4章 麵嚮對象編程
4.1 限製在對象或特質的body裏初始化邏輯的代碼
4.1.1 延遲構造
4.1 2多重繼承又來瞭
4.2 為特質的抽象方法提供空實現
4.3 組閤可以包含繼承
4.3.1 通過繼承組閤成員
4.3.2 經典構造器withatwist
4.3.3 總結
4.4 提升抽象接口為獨立特質
4.4.1 和接口交互
4.4.2 從曆史中吸取教訓
4.4.3 結論
4.5 public接口應當提供返迴值
4.6 總結
第5章 利用隱式轉換寫更有錶達力
5.1 介紹隱式轉換係統
5.1.1 題外話:標識符
5.1.2 作用域和綁定
5.1.3 隱式解析
5.1.4 通過類型參數獲得隱式作用域
5.1.5 通過嵌套獲得隱式作用域
5.2 隱式視圖:強化已存在的類
5.3 隱式參數結閤默認參數
5.4 限製隱式係統的作用域
5.4.1 為導入創建隱式轉換
5.4.2 沒有導入稅(importtax)的隱式轉換
5.5 總結1
第6章 類型係統
6.1 類型
6.1.1 類型和路徑
6.1.2 type關鍵字
6.1.3 結構化類型
6.2 類型約束130
6.3 類型參數和高階類型(Higher Kinded Types)
6.3.1 類型參數約束
6.3.2 高階類型
6.4 型變(Variance)
6.5 存在類型
6.6 總結
第7章 隱式轉換和類型係統結閤應用
7.1 上下文邊界和視圖邊界
7.2 用隱式轉換來捕捉類型
7.2.1 捕獲類型用於運行時計算(capturing types for runtime evaluation)
7.2.2 使用Manifest
7.2.3 捕捉類型約束
7.2.4 特定方法(Specialized method)
7.3 使用類型類(type class)
7.3.1 作為類型類的FileLike
7.3.2 類型類的好處
7.4 用類型係統實現條件執行
7.4.1 異構類型List
7.4.2 IndexedView
7.5 總結
第8章 Scala集閤庫
8.1 使用正確的集閤類型
8.1.1 集閤庫繼承層次
8.1.2 Traversable
8.1.3 Iterable
8.1.4 Seq
8.1.5 LinearSeq
8.1.6 IndexedSeq
8.1.7 Set
8.1.8 Map
8.2 不可變集閤
8.2.1 Vector
8.2.2 List
8.2.3 Stream(流)
8.3 可變集閤
8.3.1 ArrayBuffer
8.3.2 混入修改事件發布特質
8.3.3 混入串行化特質
8.4 用視圖和並行集閤來改變計算策略
8.4.1 視圖
8.4.2 並行集閤
8.5 編寫能處理所有集閤類型的方法
8.6 總結
第9章 Actors
9.1 使用Actor的時機
9.2 使用有類型的、透明的引用
9.3 把故障限製在故障區裏
9.3.1 發散搜集故障區
9.3.2 通常的故障處理實踐
9.4 利用排期區控製負載
9.5 動態Actor拓撲
9.6 總結
第10章 Scala和Java集成
10.1 Scala/Java不匹配
10.1.1 基礎類型自動打包的差異
10.1.2 可見性的差異
10.1.3 不可錶達的語言特性
10.2 謹慎使用隱式轉換
10.2.1 對象標識和判等
10.2.2 鏈式隱式轉換
10.3 小心Java序列化
10.4 注解你的注解
10.4.1 注解目標
10.4.2 Scala和靜態屬性
10.5 總結
第11章 函數式編程
11.1 計算機科學領域的範疇論
11.2 函子(Functor),Monad及它們與範疇的關係
11.3 咖喱化和可應用風格(Applicative style)
11.3.1 咖喱化
11.3.2 可應用風格
11.4 用作工作流的單子
11.5 總結
前言/序言
深入理解Scala epub pdf mobi txt 電子書 下載 2024
深入理解Scala 下載 epub mobi pdf txt 電子書
評分
☆☆☆☆☆
不錯。 。
評分
☆☆☆☆☆
好書好書好書好書好書
評分
☆☆☆☆☆
深入探討scala高級特性的書,適閤有一定scala基礎的人讀,準備過年抽空讀一讀。
評分
☆☆☆☆☆
不適閤入門。相當於c# in depth那種類型的。
評分
☆☆☆☆☆
國內scala的書不是太多,這本書很好,內容也很詳細
評分
☆☆☆☆☆
非常好的書,如果你想成為一名優秀的程序,你值得擁有!
評分
☆☆☆☆☆
好
評分
☆☆☆☆☆
書的內容很深 對有一些scala 又想深入瞭解的很有用
評分
☆☆☆☆☆
配送神速!包裝細緻!