50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

浅谈云上攻防——云服务器攻防矩阵

腾讯安全云鼎实验室

云原生 云上安全攻防

【网络安全】红蓝攻防:shellcode的分析

H

网络安全 WEB安全

Office2021 和Microsoft 365分不清?这样选最划算

淋雨

Office 365

26个主流机器学习算法的实现,获4万好评,这本机器学习宝典终于来了!

图灵教育

机器学习 代码 公式

LabVIEW感兴趣区域分析(实战篇—1)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 感兴趣区域分析 ROI

如何使用 Amazon S3 多区域访问点提高多区域应用程序的性能速度和可用性

亚马逊云科技 (Amazon Web Services)

通用数据保护条例的监管下,你的数据湖“断舍离”了吗?

亚马逊云科技 (Amazon Web Services)

存储

青藤:业务迁移到容器云上的6个注意事项

青藤云安全

活动预告 | OpenMLDB Meetup No.1

第四范式开发者社区

人工智能 机器学习 开源

使用 esbuild 来打包一个 React 库

CRMEB

龙蜥的朋友圈又大了!知名数据库产品服务商南大通用加入社区

OpenAnolis小助手

开源 社群

全球最大规模中文跨模态生成模型文心ERNIE-ViLG来了!

百度大脑

人工智能

不听话的 Container

百瓶技术

flutter 布局与组件

C++太难学,怎么破?这本书给你指点迷津!

图灵教育

c++ 编程 入门

手淘 Android 帧率采集与监控详解

阿里巴巴终端技术

android 性能优化 移动开发 客户端

云原生训练营毕业总结

白开水又一杯

云原生

以搭建Vuepress文档为例,展示用VSCode来远程开发

为自己带盐

vscode 1月月更 远程开发

如何用建木CI构建/发布建木Hub节点定义版本

Jianmu

DevOps CI/CD 开源项目 发送邮件 检查系统服务

workflow 之 Luigi 3.x 基本用法(qbit)

qbit

工作流 pipeline workflow 数据流

使用 KubeSphere 管理 Amazon EKS Anywhere 集群

亚马逊云科技 (Amazon Web Services)

存储

SphereEx 创始人张亮荣获『2021 年度海纳奖——分布式数据库十佳实践人物』

SphereEx

数据库 开源 ShardingSphere SphereEx 海纳奖

【量化】量化交易入门系列4:经典的量化交易策略(下)

恒生LIGHT云社区

量化策略 量化投资 量化交易 量化

应用营销策略知多少?

坚果

产品设计 1月月更

Redis 使用 List 实现消息队列有哪些利弊?

码哥字节

redis 消息队列 Redis 6.0 1月月更

Amazon SageMaker Data Wrangler 简化数据准备过程,助力机器学习

亚马逊云科技 (Amazon Web Services)

存储

敏捷真的是开发者的绊脚石吗?

LigaAI

敏捷开发

美容院CRM系统解决方案

低代码小观

CRM 客户关系管理 CRM系统 客户关系管理系统 企业管理工具

如何利用Spot,成本与稳定同时兼得

jinjin

spot 热池 spotmax

VuePress 博客优化之添加数据统计功能

冴羽

JavaScript Vue 前端 博客 vuepress

使用 Amazon Redshift ML 构建多分类模型

亚马逊云科技 (Amazon Web Services)

存储

新型数据中心的必选项:“超融合”的三重价值

脑极体

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