groovy dsl
在我的一个项目中,我们有一个非常复杂的域模型,其中包括数百种不同的域对象类型。 那是一个纯Java项目,说实话,Java在对象实例化,初始化和设置属性方面非常冗长。 突然,出现了允许用户定义和使用自己的对象模型的新要求。 所以……旅程开始了。
我们最终想到了需要某种领域语言来描述所有这些对象类型和关系。 Groovy在这里进行救援。 在本文中,我想演示使用Groovy构建器编写的简单DSL的功能和表现力。
与往常一样,让我们从示例项目的POM文件开始:
4.0.0
com.example
dsl
0.0.1-SNAPSHOT
jar
UTF-8
junit
junit
4.10
org.codehaus.groovy
groovy-all
1.8.4
org.codehaus.gmaven
gmaven-plugin
1.4
1.8
compile
testCompile
org.a