BT

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

用Groovy创建领域特定语言

| 作者 Craig Wickesser 关注 0 他的粉丝 ,译者 宋玮 关注 0 他的粉丝 发布于 2008年2月28日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

今天(2月21日)是Groovy/Grails Experience大会(也就是大家所熟知的2GX)的第一天,会议在Virginia的Reston举行。该会议会持续3天,包括了四十个90分钟的专题、小组讨论以及代码研习会。今天的首个专题之一是Venkat Subramaniam的“DSL In Groovy”。领域特定语言的话题过去曾经出现在InfoQ上,包括Martin Fowler的领域特定语言介绍和Ian Roughley的关于用JRuby构建领域特定语言的文章。

Venkat的专题提供了关于什么是DSL、它们的特征、DSL类型(内部/外部)以及Groovy用来创建和使用它们的特性等相关信息。Venkat首先集中于使用一些Groovy的一些内置特性创建内部DSL(internal DSL)

除了这三个特性外,Venkat论述了Groovy对开发者没有约束以及其促进DSL的附加特性,包括:

在决定当创建DSL时使用哪种方法时,Venkat解释了使用Categories或ExpandoMetaClass的主要区别,
  • Categories允许你在战术上增强一个类
  • ExpandMetaClass在本质上更深远、全面
  • 你可能不想从全局影响一个类
  • Categories提供了受控的灵活性

领域特定语言正持续受到关注,而且可以用Groovy内置特性创建和使用。

查看英文原文:Creating Domain Specific Languages with Groovy

评价本文

专业度
风格

您好,朋友!

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

获得来自InfoQ的更多体验。

告诉我们您的想法

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

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

Groovy by peng mz

Groovy真的不错

groovy by hai feng

我看了Grails 里面讲到了groovy 个人很喜欢他的语法

允许的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通知我

2 讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT