1 领域特定语言(DSL)
我们将要讨论的第一个关于DRL的抽象是领域特定的语言,或者仅仅是DSL。
DSL是为特定上下文定制DRL的一种很好的方法。
Drools DSL背后的概念很简单。创建一个包含面向业务的概念的字典文件
,并将其翻译成DRL
。领域专家仅需要在编写规则时,要了解面向业务的概念,而不必担心DRL的技术方面。
定义业务概念和DRL之间的转换的字典文件简单地称为Drools中的DSL。包含使用业务概念定义的规则的文件称为DSLR。当技术团队负责创建和维护dictionary文件(DSL)时,SME负责业务规则的创建和维护(DSLR)。
DSL是由Drools支持的;没有特殊的依赖项,在我们开始使用它之前,不需要任何配置。
2. 字典文件(即DSL)
字典文件(或DSL)是一个包含DSL条目的文本文件(带有一个.dsl拓展名)。
- 该文件以开括号“
[
”开始的行被认为是一个DSL条目,都被认为是DSL条目。 - 以井号“
#
”开头的行被认为是注释。 - 从一个
既不是括号“[”也不是“#”号
开始的行,被认为是前一个DSL条目的一部分
。
DSL条目的格式如下:
[<scope>][<type definition>]<dsl expression>&#