BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

用Groovy能玩出来的漂亮把戏

| 作者 Ian Roughley 关注 0 他的粉丝 ,译者 吴磊 关注 0 他的粉丝 发布于 2007年5月31日. 估计阅读时间: 3 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

随着动态语言开始在JDK 6中扮演重要角色,Groovy专家Guillaume Laforge、Dierk Konig和Guillaume Alleon在“用Groovy能玩出来的漂亮把戏(Cool things you can do with Groovy)”研讨会向开发人员展示了Groovy语言的特性,从而帮助开发人员提高生产力。

演讲的一开始介绍了Groovy的标准特性(增强的语言特性、闭包[Closures]、正则表达式支持、GString和集合等等),随后还讨论了一些对提高生产力更有帮助的语言特性,其中最为引人注意的包括:

Groovy Builders和GPath:你不再需要通过翻译砸的XPath API来访问数据了。使用GPath操作XML文档就像直接操作对象一样,允许你通过调用属性来访问数据;而使用Builder,你可以反过来使用对象和大括号来创建XML文件。除了XML Builder以外,还有Swing和Ant的Builder。

对Annotation的支持:在今年稍后发布1.1版本之后,Groovy将成为唯一支持Annotation的动态语言。由于它将允许双向的数据访问,因此这是一个重要的里程碑。一个使用了Google Juice和TestNG的演示展示了使用注入的Mock数据的测试用例开发起来是多么轻而易举的一件事情。

Live Objects:Groovy外壳(Shell)的特性不仅是一个考察这门语言最简单的途径,而且可以用来交互地探索Java的运行期环境。当运行期配置被嵌入到一个应用程序中时,开发人员可以对这些配置进行探索,并且对其进行实时修改,这使得开发人员在永久性修改代码之前,就可以检验所做的假设并且对理论进行测试。

动态的应用程序:在你的应用程序中可以选择这样一种方式:将Groovy代码编译成Java的class文件,然后在应用中使用这些静态类。此外,开发人员还有其它选择。最有说服力的就是使用GroovyClassloader,这种方式使得Groovy脚本在运行期被请求时才被编译,这就允许在运行时期更改和使用源文件,而不必重启整个应用程序。

Charles Ditzel在经过演讲人允许之后,发布PPT供大家下载

查看英文原文:Cool things you can do with Groovy
译者简介:吴磊,有多年软件开发经验,从1999年开始使用C++,2002年转入Java领域,具备J2ME和J2EE方面的开发经验。在多个项目开发过程中先后使用过WebWork、Spring、Hibernate等开源项目。目前正在进行基于Spring轻量级J2EE开发,对敏捷方法有一些尝试。另外对Erlang很有兴趣,正在学习中。为InfoQ中文站贡献内容,请邮件至china-editorial@infoq.com

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT