Groovy程序设计

Groovy程序设计

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
8.232 评价豆瓣读书
免费试读

作品简介

本书是Groovy 编程指南,结合诸多实例探索了Groovy 语言特性。主要内容包括:Groovy 基础知识介绍、如何将Groovy 应用于日常编码、MOP 与元编程、使用元编程等。

本书适合Java 开发人员学习Groovy,对Groovy 已有了解的程序员也可在本书中学到一些其他书中无从提及的诀窍和技巧。

Venkat Subramaniam(作者),Agile Developer公司创始人,敏捷开发权威人士。他培训并指导了美国、加拿大、印度和欧洲多国的上千名软件开发人员,并多次在各种大会上发表演讲。除本书外,还著有Jolt大奖图书《高效程序员的45个习惯:敏捷开发修炼之道》。

臧秀涛(译者),硕士毕业于中国科学院计算技术研究所。曾从事网络游戏、操作系统等方面的开发工作。喜爱编程语言和编译器相关技术。热爱读书和翻译。

作品目录

  1. 引言
  2. Groovy是什么
  3. 为何要使用动态语言
  4. 为何选择Groovy
  5. 本书内容
  6. 相对于第1版的变化
  7. 目标读者
  8. 在线资源
  9. 致谢
  10. 第一部分 Groovy起步
  11. 第1章 起步
  12. 1.1 安装Groovy
  13. 1.1.1 在Windows系统环境安装Groovy
  14. 1.1.2 在类Unix系统环境安装Groovy
  15. 1.2 管理多个版本的Groovy
  16. 1.3 使用groovysh
  17. 1.4 使用groovyConsole
  18. 1.5 在命令行中运行Groovy
  19. 1.6 使用IDE
  20. 1.6.1 IntelliJ IDEA
  21. 1.6.2 Eclipse Groovy插件
  22. 1.6.3 TextMate Groovy Bundle
  23. 第2章 面向Java开发者的Groovy
  24. 2.1 从Java到Groovy
  25. 2.1.1 Hello,Groovy
  26. 2.1.2 实现循环的方式
  27. 2.1.3 GDK一瞥
  28. 2.1.4 安全导航操作符
  29. 2.1.5 异常处理
  30. 2.1.6 Groovy是轻量级的Java
  31. 2.2 JavaBean
  32. 2.3 灵活初始化与具名参数
  33. 2.4 可选形参
  34. 2.5 使用多赋值
  35. 2.6 实现接口
  36. 2.7 布尔求值
  37. 2.8 操作符重载
  38. 2.9 对Java 5特性的支持
  39. 2.9.1 自动装箱
  40. 2.9.2 for-each
  41. 2.9.3 enum
  42. 2.9.4 变长参数
  43. 2.9.5 注解
  44. 2.9.6 静态导入
  45. 2.9.7 泛型
  46. 2.10 使用Groovy代码生成变换
  47. 2.10.1 使用@Canonical
  48. 2.10.2 使用@Delegate
  49. 2.10.3 使用@Immutable
  50. 2.10.4 使用@Lazy
  51. 2.10.5 使用@Newify
  52. 2.10.6 使用@Singleton
  53. 2.11 陷阱
  54. 2.11.1 Groovy的==等价于Java的equals()
  55. 2.11.2 编译时类型检查默认为关闭
  56. 2.11.3 小心新的关键字
  57. 2.11.4 别用这样的代码块
  58. 2.11.5 闭包与匿名内部类的冲突
  59. 2.11.6 分号总是可选的
  60. 2.11.7 创建基本类型数组的不同语法
  61. 第3章 动态类型
  62. 3.1 Java中的类型
  63. 3.2 动态类型
  64. 3.3 动态类型不等于弱类型
  65. 3.4 能力式设计
  66. 3.4.1 使用静态类型
  67. 3.4.2 使用动态类型
  68. 3.4.3 使用动态类型需要自律
  69. 3.5 可选类型
  70. 3.6 多方法
  71. 3.7 动态还是非动态
  72. 3.8 关闭动态类型
  73. 3.8.1 静态类型检查
  74. 3.8.2 静态编译
  75. 第4章 使用闭包
  76. 4.1 闭包的便利性
  77. 4.1.1 传统方式
  78. 4.1.2 Groovy方式
  79. 4.2 闭包的应用
  80. 4.3 闭包的使用方式
  81. 4.4 向闭包传递参数
  82. 4.5 使用闭包进行资源清理
  83. 4.6 闭包与协程
  84. 4.7 科里化闭包
  85. 4.8 动态闭包
  86. 4.9 闭包委托
  87. 4.10 使用尾递归编写程序
  88. 4.11 使用记忆化改进性能
  89. 第5章 使用字符串
  90. 5.1 字面常量与表达式
  91. 5.2 GString的惰性求值问题
  92. 5.3 多行字符串
  93. 5.4 字符串便捷方法
  94. 5.5 正则表达式
  95. 第6章 使用集合类
  96. 6.1 使用List
  97. 6.2 迭代ArrayList
  98. 6.2.1 使用List的each方法
  99. 6.2.2 使用List的collect方法
  100. 6.3 使用查找方法
  101. 6.4 List上的其他便捷方法
  102. 6.5 使用Map类
  103. 6.6 在Map上迭代
  104. 6.6.1 Map的each方法
  105. 6.6.2 Map的collect方法
  106. 6.6.3 Map的find和findAll方法
  107. 6.7 Map上的其他便捷方法
  108. 第二部分 使用Groovy
  109. 第7章 探索GDK
  110. 7.1 使用Object类的扩展
  111. 7.1.1 使用dump和inspect方法
  112. 7.1.2 使用上下文with()方法
  113. 7.1.3 使用sleep
  114. 7.1.4 间接访问属性
  115. 7.1.5 间接调用方法
  116. 7.2 其他扩展
  117. 7.2.1 数组的扩展
  118. 7.2.2 使用java.lang的扩展
  119. 7.2.3 使用java.io的扩展
  120. 7.2.4 使用java.util的扩展
  121. 7.3 使用扩展模块定制方法
  122. 第8章 处理XML
  123. 8.1 解析XML
  124. 8.1.1 使用DOMCategory
  125. 8.1.2 使用XMLParser
  126. 8.1.3 使用XMLSlurper
  127. 8.2 创建XML
  128. 第9章 使用数据库
  129. 9.1 创建数据库
  130. 9.2 连接到数据库
  131. 9.3 数据库的Select操作
  132. 9.4 将数据转为XML表示
  133. 9.5 使用DataSet
  134. 9.6 插入与更新
  135. 9.7 访问Microsoft Excel
  136. 第10章 使用脚本和类
  137. 10.1 Java和Groovy的混合
  138. 10.2 运行Groovy代码
  139. 10.3 在Groovy中使用Groovy类
  140. 10.4 利用联合编译混合使用Groovy和Java
  141. 10.5 在Java中创建与传递Groovy闭包
  142. 10.6 在Java中调用Groovy动态方法
  143. 10.7 在Groovy中使用Java类
  144. 10.8 从Groovy中使用Groovy脚本
  145. 10.9 从Java中使用Groovy脚本
  146. 第三部分 MOP与元编程
  147. 第11章 探索元对象协议
  148. 11.1 Groovy对象
  149. 11.2 查询方法与属性
  150. 11.3 动态访问对象
  151. 第12章 使用MOP拦截方法
  152. 12.1 使用GroovyInterceptable拦截方法
  153. 12.2 使用MetaClass拦截方法
  154. 第13章 MOP方法注入
  155. 13.1 使用分类注入方法
  156. 13.2 使用ExpandoMetaClass注入方法
  157. 13.3 向具体的实例中注入方法
  158. 13.4 使用Mixin注入方法
  159. 13.5 在类中使用多个Mixin
  160. 第14章 MOP方法合成
  161. 14.1 使用methodMissing合成方法
  162. 14.2 使用ExpandoMetaClass合成方法
  163. 14.3 为具体的实例合成方法
  164. 第15章 MOP技术汇总
  165. 15.1 使用Expando创建动态类
  166. 15.2 方法委托:汇总练习
  167. 15.3 MOP技术回顾
  168. 15.3.1 用于方法拦截的选项
  169. 15.3.2 用于方法注入的选项
  170. 15.3.3 用于方法合成的选项
  171. 第16章 应用编译时元编程
  172. 16.1 在编译时分析代码
  173. 16.1.1 理解代码结构
  174. 16.1.2 在代码结构中导航
  175. 16.2 使用AST变换拦截方法调用
  176. 16.3 使用AST变换注入方法
  177. 第四部分 使用元编程
  178. 第17章 Groovy生成器
  179. 17.1 构建XML
  180. 17.2 构建JSON
  181. 17.3 构建Swing应用
  182. 17.4 使用元编程定制生成器
  183. 17.5 使用BuilderSupport
  184. 17.6 使用FactoryBuilderSupport
  185. 第18章 单元测试与模拟
  186. 18.1 本书代码与自动化单元测试
  187. 18.2 对Java和Groovy代码执行单元测试
  188. 18.3 测试异常
  189. 18.4 模拟
  190. 18.5 使用覆盖实现模拟
  191. 18.6 使用分类实现模拟
  192. 18.7 使用ExpandoMetaClass实现模拟
  193. 18.8 使用Expando实现模拟
  194. 18.9 使用Map实现模拟
  195. 18.10 使用Groovy Mock Library实现模拟
  196. 18.10.1 使用StubFor
  197. 18.10.2 使用MockFor
  198. 第19章 在Groovy中创建DSL
  199. 19.1 上下文
  200. 19.2 流畅
  201. 19.3 DSL的分类
  202. 19.4 设计内部的DSL
  203. 19.5 Groovy与DSL
  204. 19.6 使用命令链接特性改进流畅性
  205. 19.7 闭包与DSL
  206. 19.8 方法拦截与DSL
  207. 19.9 括号的限制与变通方案
  208. 19.10 分类与DSL
  209. 19.11 ExpandoMetaClass与DSL
  210. 附录A Web资源
  211. 附录B 参考书目
载入中

热门划线

喜欢这本书的人也喜欢