写点什么

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

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

关注

评论

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

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的限流器RateLimiter功能服务

码界西柚

分布式 限流器 三周年连更 动手实现 RateLimter

云原生典型应用架构

穿过生命散发芬芳

云原生架构 三周年连更

Markdown基础语法教程

进基的小张

学习 markdown markdown语法 markdown编辑器 基础

《AGI时代的破局之道 | 社区征文》

后台技术汇

三周年征文

使用 NutUI 搭建「自定义业务风格」的组件库 | 京东云技术团队

京东科技开发者

京东云 企业号 5 月 PK 榜

Kafka性能测试初探

FunTester

海泰方圆《数字政府密码应用与数据安全合规性建设指南》顺利通过评审

电子信息发烧客

ChatGPT 何时替代码农?

酱紫的小白兔

码农 机器人 ChatGPT

Java实现坦克大战1.0

timerring

Java

async/await详解

不叫猫先生

JavaScript async/await 三周年连更

PS 2020 photoshop绿色版

源字节1号

Shell脚本的变量

芯动大师

Shell命令 三周年连更 shell变量

手把手教会你 | 网络编程

TiAmo

socket通信 服务器编程 单用户模式

matlab实现通信原理

袁袁袁袁满

三周年连更

木兰汇专访 | 网心科技联合创始人马婷:创业者的“长期主义”

网心科技

开源项目LuckyDraw分享&介绍

进基的小张

小程序 开源 开发 GitHub、 项目上线

2023-05-05:给定一个无向、连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges , edges[i] = [ai, bi]表示树中的

福大大架构师每日一题

golang 算法 rust

服务网格(Service Mesh)是什么?

乌龟哥哥

三周年连更

MySQL一次大量内存消耗的跟踪

GreatSQL

LLMs 记忆体全新升级:六大新功能全面出击,用户体验值拉满!

Zilliz

大模型时代 向量数据库 zillizcloud LLMs

这8种常见的防火墙,分别有哪些优缺点?

wljslmz

防火墙 三周年连更

Java多线程基础

timerring

Java

下载LORA模型

IT蜗壳-Tango

三周年连更

【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究 | 京东云技术团队

京东科技开发者

ES 京东云 企业号 5 月 PK 榜

2 行代码开启 SAST,将代码漏洞定位到具体行数

极狐GitLab

DevOps DevSecOps SAST 应用安全测试 安全扫描

C++多线程编程和同步机制:详解和实例演示

小万哥

c++ 程序员 后端 多线程 同步

Zebec生态发展进入加速期,拿好ZBC坐等价值兑现

西柚子

Flink应用开发

阿泽🧸

flink 三周年连更

Zebec生态发展进入加速期,拿好ZBC坐等价值兑现

股市老人

1分钟学会、3分钟上手、5分钟应用,快速上手责任链框架详解 | 京东云技术团队

京东科技开发者

Netty 京东云 企业号 5 月 PK 榜

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