首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为我们的应用程序的DSL提供一个简单的界面/控制台

为我们的应用程序的DSL提供一个简单的界面/控制台
EN

Stack Overflow用户
提问于 2012-06-21 23:31:49
回答 1查看 85关注 0票数 0

我们有一个应用程序,它充当分布式系统中某种类型的代理的模拟器。它的预期用途是用于集成测试,因此它必须非常灵活。我们有一个流畅的接口,它可能演变为内部DSL,用于定义代理的行为:测试场景。

我们还为用户(测试人员)提供了一个用于创建测试场景的向导,但我们发现这非常低效:用户本身就有足够的领域和技术知识来使用流畅的界面来编写场景,而我们却在浪费时间编写执行此操作的向导。

因此,我们想知道是否有任何轻量级的“控制台”,允许用户在运行时通过自动完成和验证来编写链式方法(或DSL),就像我们在编码时所做的那样。如果可能,不需要启动eclipse实例。

想象一个轻便的、可嵌入的"xText控制台“或”带建议的groovy控制台“,用于动态调用fluent接口方法或编写DSL.

有什么想法吗?让你的用户使用你的DSL最简单的方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-24 07:22:20

一种方法是使用Scala控制台:

代码语言:javascript
复制
$ scala -classpath <your-class-files>

它对方法有点补全功能。您甚至可以利用流畅的语法,其中省略了点和括号,这对于DSL非常有用。而不是:

代码语言:javascript
复制
scala> "howdy".contains("how")
res0: Boolean = true

...you可以这样写:

代码语言:javascript
复制
scala> "howdy" contains "how"
res1: Boolean = true

当然,“包含”可以是DSL/fluent接口的一个方法。

是的,我在回答我自己,哇哦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11141604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档