在流口水时,我们经常有需要调用的共同逻辑。有两种选择可以实现此目的。
- 在流口水中使用函数。
- 将通用逻辑移至 java 中的某个 Util 类并从 drools 中调用它。
推荐以上哪一项?
谢谢。
最佳答案
我总是建议使用导入的静态方法,除非它是一个非常简单的逻辑,并且是规则子集的本地逻辑并且需要动态定义。原因是:
- 保持 DRL 代码不含过程逻辑,使维护更便宜、更容易。
- 编写 xUnit 测试来测试静态方法中的函数逻辑比测试 DRL 函数更容易。
- 它使该函数可用于所有 DRL 文件,不会发生冲突,也不会出现 IDE 错误代码。
DRL 函数构造是解决简单本地问题的工具,但 Java 类是您要保存和维护过程代码的地方。
关于drools - 从 java Util 类中调用 drool 或静态方法中的 "function"哪个更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812635/