图书介绍
Groovy程序设计PDF|Epub|txt|kindle电子书版本网盘下载
![Groovy程序设计](https://www.shukui.net/cover/57/34401196.jpg)
- (美)苏帕拉马尼亚姆(SubramaniamV.)著;臧秀涛译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115370419
- 出版时间:2014
- 标注页数:278页
- 文件大小:49MB
- 文件页数:297页
- 主题词:程序语言-程序设计
PDF下载
下载说明
Groovy程序设计PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 Groovy起步2
第1章 起步2
1.1 安装Groovy2
1.1.1 在Windows系统环境安装Groovy2
1.1.2 在类Unix系统环境安装Groovy3
1.2 管理多个版本的Groovy3
1.3 使用groovysh4
1.4 使用groovyConsole5
1.5 在命令行中运行Groovy5
1.6 使用IDE6
1.6.1 IntelliJ IDEA6
1.6.2 Eclipse Groovy插件6
1.6.3 TextMate Groovy Bundle6
第2章 面向Java开发者的Groovy8
2.1 从Java到Groovy8
2.1.1 Hello,Groovy8
2.1.2 实现循环的方式9
2.1.3 GDK一瞥11
2.1.4 安全导航操作符13
2.1.5 异常处理13
2.1.6 Groovy是轻量级的Java15
2.2 JavaBean15
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-each29
2.9.3 enum30
2.9.4 变长参数31
2.9.5 注解32
2.9.6 静态导入33
2.9.7 泛型33
2.10 使用Groovy代码生成变换35
2.10.1 使用@Canonical35
2.10.2 使用@Delegate35
2.10.3 使用@Immutable36
2.10.4 使用@Lazy37
2.10.5 使用@Newify38
2.10.6 使用@Singleton38
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 使用List98
6.2 迭代ArrayList100
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
第二部分 使用Groovy114
第7章 探索GDK114
7.1 使用Object类的扩展114
7.1.1 使用dump和inspect方法115
7.1.2 使用上下文with()方法115
7.1.3 使用sleep116
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章 处理XML128
8.1 解析XML128
8.1.1 使用DOMCategory129
8.1.2 使用XMLParser131
8.1.3 使用XMLSlurper131
8.2 创建XML133
第9章 使用数据库136
9.1 创建数据库136
9.2 连接到数据库137
9.3 数据库的Select操作137
9.4 将数据转为XML表示139
9.5 使用DataSet140
9.6 插入与更新140
9.7 访问Microsoft Excel141
第10章 使用脚本和类143
10.1 Java和Groovy的混合143
10.2 运行Groovy代码144
10.3 在Groovy中使用Groovy类145
10.4 利用联合编译混合使用Groovy和Java145
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与元编程158
第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 在类中使用多个Mixin187
第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
第四部分 使用元编程224
第17章 Groovy生成器224
17.1 构建XML224
17.2 构建JSON227
17.3 构建Swing应用229
17.4 使用元编程定制生成器230
17.5 使用BuilderSupport233
17.6 使用FactoryBuilderSupport236
第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 使用StubFor256
18.10.2 使用MockFor257
第19章 在Groovy中创建DSL261
19.1 上下文261
19.2 流畅262
19.3 DSL的分类263
19.4 设计内部的DSL264
19.5 Groovy与DSL264
19.6 使用命令链接特性改进流畅性265
19.7 闭包与DSL266
19.8 方法拦截与DSL267
19.9 括号的限制与变通方案268
19.10 分类与DSL270
19.11 ExpandoMetaClass与DSL271
附录A Web资源273
附录B 参考书目277