AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

2022-Java后端工程师面试指南-(计算机网络)

自然

网络 watt network 8月月更

10道不得不会的Docker面试题

JavaPub

redis Docker

参天生长大模型:昇腾AI如何强壮模型开发与创新之根?

脑极体

超大模型工程化实践打磨,百度智能云发布云原生 AI 2.0 方案

Baidu AICLOUD

资源调度 异构计算 AI加速 GPU容器虚拟化 云原生AI

学习Apache ShardingSphere解析器源码(一)

我不吃六安茶

ANTLR Apache ShardingSphere

React Redux 组件更新/渲染原理 connect 中的 mapStateToProps

HullQin

CSS JavaScript html 前端 8月月更

元宇宙社交应用,靠什么吸引用户「为爱发电」?

融云 RongCloud

元宇宙

云服务器基于 SSH 协议实现免密登录

昆吾kw

Linux SSH 云服务器

Spring 全家桶之 Spring Data JPA(一)

小白

8月月更

一次由groovy引起的fullGC问题排查

转转技术团队

Thread State 详解

自然

Thread 8月月更

Kubernetes 选举机制HA

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes你不知道的事

CTO技术共享

开源 签约计划第三季 8月月更

开源一夏|OpenHarmony如何选择图片在Image组件上显示(eTS)

坚果

开源 OpenHarmony 8月月更

IFIT的架构与功能

穿过生命散发芬芳

8月月更 IFIT

canvas

Jason199

canvas 8月月更

《DevOps围炉夜话》- Pilot - CNCF开源DevOps项目DevStream简介 - feat. PMC成员胡涛

玩转Devop和研发效能DevStream/DevLake

开源 DevOps cncf WLB

风控逻辑利器---规则引擎

转转技术团队

Java 规则引擎 风控 后端、 特征工程

Kubernetes 维护技术分享

CTO技术共享

开源 签约计划第三季 8月月更

开源一夏 | 参与开源能让人更幸福

石云升

开源 开源社区 8月月更

vue高频面试题合集(一)附答案

helloworld1024fd

Vue

OAuth Client默认配置加载

阿提说说

Spring Security OAuth

MySQL高级指令

武师叔

8月月更

【LeetCode】把二叉搜索树转换为累加树Java题解

Albert

LeetCode 8月月更

API服务网关

阿泽🧸

API网关 8月月更

鲲鹏编译调试及原生开发工具基础知识

乌龟哥哥

8月月更

vue高频面试题合集(二)附答案

helloworld1024fd

Vue

ThreadLocal全面解析(一)

自然

ThreadLocal 8月月更

开源一夏 | 盘点 GitHub 那些标星超过 20 K 的 Golang 优质开源项目

宇宙之一粟

GitHub 开源 Go 语言 gopher 8月月更

Kubernetes 计算CPU 使用率

CTO技术共享

开源 签约计划第三季 8月月更

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