文章:使用 Java 实现内部领域特定语言

  • Ryan Slobojan
  • 沙晓兰

2008 年 3 月 12 日

话题:Java编程语言语言 & 开发架构

在这篇文章中, Alex RuizJeff Bay描述了 Java 适合作为 DSL 的创建语言,深入挖掘了如何使用 Java 来创建内部 DSL,讲解了一个基于 Java 的内部 DSL 的范例,并对采用 Java 编写 DSL 提出了一些建议。

Java 适用于创建开发人员易读易写的、并且对于商业用户用样易读的内部领域特定语言。用 Java 创建的 DSL 可能比那些由动态语言创建的 DSL 来的冗长。但好的一面是,通过使用 Java,我们可以利用编译器来增强 DSL 的语义。另外,我们依赖于成熟且强大的 Java 集成开发环境,从而使 DSL 的创建、使用和维护更加简单。

使用 Java 创建 DSL 需要 API 设计者做更多的工作,有更多的代码和文档需要创建和维护。但是,付出总有回报。使用我们 API 的用户在他们的代码库中会看到更多的优化。他们的代码将会更加简洁,更易于维护,这些将使得他们的生活更加轻松。

使用 Java 创建 DSL 有很多种不同的方式,这取决于我们试图达到的目的是什么。尽管没有什么通用的方法,我们还是发现结合方法链接和静态工厂方法与 imports 的方式可以得到干净、简洁、易读易写的 API。

Java编程语言语言 & 开发架构