Groovy程式設計

Groovy程式設計

《Groovy程式設計》是2020年2月人民郵電出版社出版的圖書,作者是[美]Venkat Subramaniam。

基本介紹

  • 中文名:Groovy程式設計
  • 作者:[美]Venkat Subramaniam
  • 出版時間:2020年2月
  • 出版社:人民郵電出版社
  • 頁數:278 頁
  • ISBN:9787115370419
  • 定價:69 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

《Groovy程式設計》是Groovy編程指南,結合諸多實例探索了Groovy語言特性。主要內容包括:Groovy基礎知識介紹、如何將Groovy套用於日常編碼、MOP與元編程、使用元編程等。
《Groovy程式設計》適合Java開發人員學習Groovy,對Groovy已有了解的程式設計師也可在本書中學到一些其他書中從提及的訣竅和技巧。

圖書目錄

第 一部分 Groovy起步
第1章 起步 2
1.1 安裝Groovy 2
1.1.1 在Windows系統環境安裝Groovy 2
1.1.2 在類Unix系統環境安裝Groovy 3
1.2 管理多個版本的Groovy 3
1.3 使用groovysh 4
1.4 使用groovyConsole 5
1.5 在命令行中運行Groovy 5
1.6 使用IDE 6
1.6.1 IntelliJ IDEA 6
1.6.2 Eclipse Groovy外掛程式 6
1.6.3 TextMate Groovy Bundle 6
第 2章 面向Java開發 者的Groovy 8
2.1 從Java到Groovy 8
2.1.1 Hello,Groovy 8
2.1.2 實現循環的方式 9
2.1.3 GDK一瞥 11
2.1.4 安全導航操作符 13
2.1.5 異常處理 13
2.1.6 Groovy是輕量級的Java 15
2.2 JavaBean 15
2.3 靈活初始化與具名參數 19
2.4 可選形參 20
2.5 使用多賦值 21
2.6 實現接口 22
2.7 布爾求值 25
2.8 操作符重載 27
2.9 對Java 5特性的支持 28
2.9.1 自動裝箱 29
2.9.2 for-each 29
2.9.3 enum 30
2.9.4 變長參數 31
2.9.5 註解 32
2.9.6 靜態導入 33
2.9.7 泛型 33
2.10 使用Groovy代碼生成變換 35
2.10.1 使用@Canonical 35
2.10.2 使用@Delegate 35
2.10.3 使用@Immutable 36
2.10.4 使用@Lazy 37
2.10.5 使用@Newify 38
2.10.6 使用@Singleton 38
2.11 陷阱 40
2.11.1 Groovy的==等價於Java的equals() 40
2.11.2 編譯時類型檢查默認為關閉 42
2.11.3 小心新的關鍵字 43
2.11.4 別用這樣的代碼塊 43
2.11.5 閉包與匿名內部類的衝突 43
2.11.6 分號總是可選的 45
2.11.7 創建基本類型數組的不同語法 45
第3章 動態類型 47
3.1 Java中的類型 47
3.2 動態類型 48
3.3 動態類型不等於弱類型 49
3.4 能力式設計 50
3.4.1 使用靜態類型 50
3.4.2 使用動態類型 51
3.4.3 使用動態類型需要自律 53
3.5 可選類型 54
3.6 多方法 55
3.7 動態還是非動態 58
3.8 關閉動態類型 58
3.8.1 靜態類型檢查 59
3.8.2 靜態編譯 62
第4章 使用閉包 64
4.1 閉包的便利性 64
4.1.1 傳統方式 64
4.1.2 Groovy方式 65
4.2 閉包的套用 67
4.3 閉包的使用方式 68
4.4 向閉包傳遞參數 69
4.5 使用閉包進行資源清理 70
4.6 閉包與協程 72
4.7 科里化閉包 74
4.8 動態閉包 75
4.9 閉包委託 77
4.10 使用尾遞歸編寫程式 80
4.11 使用記憶化改進性能 82
第5章 使用字元串 87
5.1 字面常量與表達式 87
5.2 GString的惰性求值問題 90
5.3 多行字元串 93
5.4 字元串便捷方法 95
5.5 正則表達式 96
第6章 使用集合類 98
6.1 使用List 98
6.2 疊代ArrayList 100
6.2.1 使用List的each方法 100
6.2.2 使用List的collect方法 102
6.3 使用查找方法 102
6.4 List上的其他便捷方法 103
6.5 使用Map類 106
6.6 在Map上疊代 108
6.6.1 Map的each方法 108
6.6.2 Map的collect方法 109
6.6.3 Map的find和findAll方法 109
6.7 Map上的其他便捷方法 110
第 二部分 使用Groovy
第7章 探索GDK 114
7.1 使用Object類的擴展 114
7.1.1 使用dump和inspect方法 115
7.1.2 使用上下文with()方法 115
7.1.3 使用sleep 116
7.1.4 間接訪問屬性 118
7.1.5 間接調用方法 119
7.2 其他擴展 119
7.2.1 數組的擴展 120
7.2.2 使用java.lang的擴展 120
7.2.3 使用java.io的擴展 122
7.2.4 使用java.util的擴展 124
7.3 使用擴展模組定製方法 125
第8章 處理XML 128
8.1 解析XML 128
8.1.1 使用DOMCategory 129
8.1.2 使用XMLParser 131
8.1.3 使用XMLSlurper 131
8.2 創建XML 133
第9章 使用資料庫 136
9.1 創建資料庫 136
9.2 連線到資料庫 137
9.3 資料庫的Select操作 137
9.4 將數據轉為XML表示 139
9.5 使用DataSet 140
9.6 插入與更新 140
9.7 訪問Microsoft Excel 141
第 10章 使用腳本和類 143
10.1 Java和Groovy的混合 143
10.2 運行Groovy代碼 144
10.3 在Groovy中使用Groovy類 145
10.4 利用聯合編譯混合使用Groovy和Java 145
10.5 在Java中創建與傳遞Groovy閉包 146
10.6 在Java中調用Groovy動態方法 148
10.7 在Groovy中使用Java類 150
10.8 從Groovy中使用Groovy腳本 151
10.9 從Java中使用Groovy腳本 153
第三部分 MOP與元編程
第 11章 探索元對象協定 158
11.1 Groovy對象 159
11.2 查詢方法與屬性 162
11.3 動態訪問對象 164
第 12章 使用MOP攔截方法 166
12.1 使用GroovyInterceptable攔截方法 166
12.2 使用MetaClass攔截方法 168
第 13章 MOP方法注入 173
13.1 使用分類注入方法 173
13.2 使用ExpandoMetaClass注入方法 178
13.3 向具體的實例中注入方法 182
13.4 使用Mixin注入方法 184
13.5 在類中使用多個Mixin 187
第 14章 MOP方法合成 192
14.1 使用methodMissing合成方法 192
14.2 使用ExpandoMetaClass合成方法 196
14.3 為具體的實例合成方法 199
第 15章 MOP技術匯總 201
15.1 使用Expando創建動態類 201
15.2 方法委託:匯總練習 203
15.3 MOP技術回顧 207
15.3.1 用於方法攔截的選項 207
15.3.2 用於方法注入的選項 207
15.3.3 用於方法合成的選項 208
第 16章 套用編譯時元編程 209
16.1 在編譯時分析代碼 209
16.1.1 理解代碼結構 210
16.1.2 在代碼結構中導航 211
16.2 使用AST變換攔截方法調用 214
16.3 使用AST變換注入方法 218
第四部分 使用元編程
第 17章 Groovy生成器 224
17.1 構建XML 224
17.2 構建JSON 227
17.3 構建Swing套用 229
17.4 使用元編程定製生成器 230
17.5 使用BuilderSupport 233
17.6 使用FactoryBuilderSupport 236
第 18章 單元測試與模擬 240
18.1 本書代碼與自動化單元測試 240
18.2 對Java和Groovy代碼執行單元測試 241
18.3 測試異常 245
18.4 模擬 245
18.5 使用覆蓋實現模擬 247
18.6 使用分類實現模擬 250
18.7 使用ExpandoMetaClass實現模擬 251
18.8 使用Expando實現模擬 253
18.9 使用Map實現模擬 255
18.10 使用Groovy Mock Library實現模擬 255
18.10.1 使用StubFor 256
18.10.2 使用MockFor 257
第 19章 在Groovy中創建DSL 261
19.1 上下文 261
19.2 流暢 262
19.3 DSL的分類 263
19.4 設計內部的DSL 264
19.5 Groovy與DSL 264
19.6 使用命令連結特性改進流暢性 265
19.7 閉包與DSL 266
19.8 方法攔截與DSL 267
19.9 括弧的限制與變通方案 268
19.10 分類與DSL 270
19.11 ExpandoMetaClass與DSL 271
附錄A  Web資源 273
附錄B 參考書目 277

相關詞條

熱門詞條

聯絡我們