飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

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

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

关注

评论

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

第02周 开发编程框架 学习总结

Jaye

架构师训练营作业-Week2

wyzwlj

极客大学架构师训练营

架构师训练营 第二周作业

大丁💸💵💴💶🚀🐟

架构师训练营 - 作业 - 第二周

心在飞

极客大学架构师训练营

手撕设计原则:依赖倒置

JefferLiu

设计模式 架构师 面向对象设计 面向对象设计原则

做产品少走弯路:你必须掌握的知识

我是IT民工

产品 互联网 方法论 思维方式 知识体系

游戏夜读 | 什么是全力以赴?

game1night

程序员的晚餐 | 6 月 15 日 红烧带鱼和清蒸多宝鱼

清远

美食

Flink on Zeppelin (2) - Batch篇

Geek_8o1tcx

大数据 flink 流计算 Zeppelin

Spring Aware 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

ARTS - Week 3

Khirye

ARTS 打卡计划 arts

第二周 软件设计原则

WW

架构师训练营 第二周 学习总结

一雄

学习 极客大学架构师训练营 第二周

Week2学习总结

wyzwlj

极客大学架构师训练营

第二周学习总结

Geek_5d0795

极客大学架构师训练营

架构师训练营第二周作业

W_T

week2 学习总结

Geek_2e7dd7

架构师训练营 第二周 作业

一雄

极客大学架构师训练营 作业 第二周

第二周作业

Geek_5d0795

极客大学架构师训练营

Java参数传递分析

游侠最光阴

Java

week2 作业

Geek_2e7dd7

用 Explain 命令分析 MySQL 的 SQL 执行

程序员历小冰

MySQL explian

命题作业—第二周

于江水

极客大学架构师训练营

服务治理之轻量级熔断框架:Resilience4j

01Running

0613总结

W_T

架构师训练营第2周作业

Season

极客大学架构师训练营

依赖倒置原则

极客李

学习总结—第二周

于江水

架构是训练营

架构师训练营第二周课后作业一

不谈

极客大学架构师训练营

架构师训练营第二周课后作业二

不谈

极客大学架构师训练营

Class-only Protocols - class or AnyObject

SwiftMic

swift AnyObject

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