我们有一个应用程序,它充当分布式系统中某种类型的代理的模拟器。它的预期用途是用于集成测试,因此它必须非常灵活。我们有一个流畅的接口,它可能演变为内部DSL,用于定义代理的行为:测试场景。
我们还为用户(测试人员)提供了一个用于创建测试场景的向导,但我们发现这非常低效:用户本身就有足够的领域和技术知识来使用流畅的界面来编写场景,而我们却在浪费时间编写执行此操作的向导。
因此,我们想知道是否有任何轻量级的“控制台”,允许用户在运行时通过自动完成和验证来编写链式方法(或DSL),就像我们在编码时所做的那样。如果可能,不需要启动eclipse实例。
想象一个轻便的、可嵌入的"xText控制台“或”带建议的groovy控制台“,用于动态调用fluent接口方法或编写DSL.
有什么想法吗?让你的用户使用你的DSL最简单的方式是什么?
发布于 2012-07-24 07:22:20
一种方法是使用Scala控制台:
$ scala -classpath <your-class-files>它对方法有点补全功能。您甚至可以利用流畅的语法,其中省略了点和括号,这对于DSL非常有用。而不是:
scala> "howdy".contains("how")
res0: Boolean = true...you可以这样写:
scala> "howdy" contains "how"
res1: Boolean = true当然,“包含”可以是DSL/fluent接口的一个方法。
是的,我在回答我自己,哇哦。
https://stackoverflow.com/questions/11141604
复制相似问题