写点什么

用 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:441535
用户头像

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

关注

评论

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

从零开始学java第一天(为报训练营做准备)

落曦

DCache 分布式存储系统|安装部署与应用创建

TARS基金会

缓存 分布式 微服务 存储 TARS

持币生息钱包APP系统开发|持币生息钱包软件开发

系统开发

全球城市ZoneId和UTC时间偏移量的最全对照表

YourBatman

GMT UTC ZoneId 时区

高效学习:如何制定有价值的学习目标

石云升

学习 28天写作

你跟涨薪只差这份Java核心知识点文档,读懂它你就是技术大佬!

Java架构之路

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

[JetPack] LiveData源码解析

Changing Lin

android 技术 JetPack

还热乎的面经

书旅

百度 面试 面经

有人相爱,有人年少财务自由,有人数据结构都背不出来

Java架构师迁哥

关注直播 解锁采集器新功能

滴滴云

运维 可观测性 直播技术 滴滴夜莺

架构师 3 期 3 班 -week9- 作业

zbest

作业 week9

对微服务架构设计实践中若干问题的探讨

xcbeyond

微服务 28天写作

OMG,阿里大佬Kafka手写实战记录,这也太香了

Java架构之路

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

Java虚拟机知识 - JVM入门

小马哥

Java JVM 架构师 Java虚拟机 七日更

HTML(六)——html表单

程序员的时光

程序员 大前端 七日更 28天写作

k8s 上运行我们的 springboot 服务之——springboot服务https请求

柠檬

Java k8s https Istio,

深度 | 阿里云蒋江伟:什么是真正的云原生?

阿里巴巴云原生

云计算 容器 运维 云原生 k8s

惊悚,单个java进程占用700%的CPU

万里无云

Java 后端 cpu

如何开发一个完善的Kafka生产者客户端?

李尚智

kafka 架构 中间件 消息中间件

FFMpeg解码API以及在解码过程中存在的丢帧问题

wangwei1237

ffmpeg 视频解码

人设崩塌的美国生物实验室

脑极体

AQS之ReentrantReadWriteLock写锁

伯阳

读写锁 ReentrantReadWriteLock 多线程与高并发 lock

深度模型的日志异常检测,还有谁不会?

华为云开发者联盟

运维 日志 网络 AIOPS 系统

Pulsar vs Kafka,CTO 如何抉择?

Apache Pulsar

大数据 pulsar 消息中间件

架构师 3 期 3 班 -week9- 总结

zbest

总结 week9

2020 总结 | VoltDB的亮点,你了解多少?

VoltDB

数据库 物联网 VoltDB

Redis中哈希分布不均匀该怎么办

Java 数据库 编程 程序员 面试

厉害!腾讯T3-2都还在学的微服务+MySQL+Kafka+boot2.x+虚拟机PDF

Java架构之路

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

区块链数字货币钱包系统软件开发|区块链数字货币钱包APP开发

系统开发

史上最全!阿里巴巴2021年最新最全500道Java后端面试大全(值得收藏)

Java 编程 程序员 面试

Java 程序经验小结:避免使用终结方法

后台技术汇

28天写作

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