Drools DRL:与更小的规则相比,规则更少

时间:2015-10-03 00:04:26

标签: drools

我有很多规则限制,可以通过"或"在逻辑上组合在一起。例如:3条规则" r1"," r2"和" r3"。我可以构建一个单一的LHS:

(r1 || r2 || r3)

或者我可以将它们各自作为一个单独的规则。我没有任何关键的功能要求,因为我可以在Drools之外独立检测他们的分组。

我想知道从运行时执行的角度来看,一种方式是否比另一种更有利(性能,内存等)。

1 个答案:

答案 0 :(得分:0)

模式级别的分离处理非常类似于两个不同的规则,因此无论如何都没有太多的获得或丢失。

但从维护和开发的角度来看,两个单独的规则需要右侧的两个副本,因此在单个规则中使用分离似乎更为可取。

建立绑定变量曾经有点棘手,但我认为Drools的最新版本(6.x)处理得令人满意。

请注意,约束级别的析取不应该被拆分为单独的规则。