写点什么

用 Groovy 创建领域特定语言

  • 2008-02-27
  • 本文字数:677 字

    阅读完需:约 2 分钟

今天(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

2008-02-27 19:441566
用户头像

发布了 150 篇内容, 共 53.5 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

怎么做好一场分享或者培训

fq

架构师训练营第 1 期第 10 周作业

业哥

一次浪费时间的面试

escray

程序员 面试 面经

第十周作业

Geek_4c1353

极客大学架构师训练营

MySQL选错索引导致的线上慢查询事故

Zhendong

Java MySQL

乘上这艘“智能体”之舟,即刻前往智慧未来

脑极体

OAuth 2.0授权框架详解

程序那些事

OAuth 2.0 程序那些事 Oauth 授权框架 安全框架

区块链赋能医疗行业,区块链医疗应用场景开发

13530558032

JVM Metaspace内存溢出排查与总结

Java老k

Java OOM 内存溢出 metaspace

DocView 现在支持自定义 Markdown 模版了!

程序员小航

markdown IDEA idea插件 文档生成

一位Java程序员在上家公司CRUD了3年,金九银十想要跳槽面试却屡屡碰壁,感觉很迷茫!网友:这是你安逸太久技术能力跟不上了!

Java架构之路

Java 程序员 架构 面试 编程语言

奉劝各位Java工程师都要学习这份阿里内部绝密《百亿级并发系统设计》实战教程,大厂面试官可“不讲武德”!

Java架构之路

Java 程序员 架构 面试 编程语言

架构设计:高并发读取,高并发写入,并发设计规划落地方案思考

互联网应用架构

高并发读,高并发写

甲方日常 55

句子

工作 随笔杂谈 日常

《华为数据之道》读书笔记:第1章 数据驱动的企业数字化转型

方志

数据中台 数据湖 数据治理

“新鲜出炉”阿里面试终极指南V3.0,符合一线大厂面试点需求

小Q

Java 学习 编程 架构 面试

五年Java开发经验,裸辞准备半月面试阿里,阿里巴巴却“不讲武德”,居然面了我7轮,历经千辛万苦终于斩获P7及Offer

Java架构之路

Java 程序员 架构 面试 编程语言

《码出高效:Java开发手册》,每一位想要成为优秀开发工程师的程序员必须要看的一本小册!

Java架构之路

Java 程序员 架构 面试 编程语言

训练营第5周学习总结

爱码士

训练营

上周我面了个三年 Javaer,这几个问题都没答出来

yes

面试 RPC HTTP

Java踩坑记系列之线程池

Java老k

Java 线程池

2021年全球公有云终端用户支出将增长18% ;EMNLP 2020最佳论文:无声语音的数字发声

京东科技开发者

程序人生

Python进阶——如何正确使用魔法方法?(下)

Kaito

Python

贼好用,冰河开源了这款精准定时任务和延时队列框架!!

冰河

redis 中间件 消息队列 延时队列 Zset

训练营第五周作业

爱码士

训练营

《华为数据之道》读书笔记:序言

方志

数据中台 数字化转型 数据治理

贞炸了!上线之后,消息收不到了!

楼下小黑哥

Java RocketMQ MQ

前端如何实现一键截图功能?

徐小夕

Java 大前端 React

字节面试数据结构与算法:B+树的删除和插入,不够详细你打我

小Q

Java MySQL 学习 面试 算法

高速二维码报警定位系统开发,智能报警系统

13530558032

新图灵测试背后,智能交互点燃了哪些产业可能性?

脑极体

用Groovy创建领域特定语言_Java_Craig Wickesser_InfoQ精选文章