我可以在这种情况下使用DROOLS吗?

时间:2013-12-11 22:29:04

标签: drools dsl rules rule-engine

我有几条1000条规则看起来像下面的规则,我想尝试使用DROOLS来编码这些规则。你认为我做出了正确的选择吗? 要检查的字段和值很多(列表和范围)很多。 鉴于数据记录,我必须针对所有可能的规则进行验证,并且可能为了提高效率,我必须仅在适用于记录的情况下应用规则。

a)XYZField字段的有效条目为空白,零,01- 36,37-44,96,97-99;否则无效。

b)如果ABCDCODE是92200,92201,并且: i)TTYPE为1,则XYZField必须为1 空白或零;否则无效。 ii)TTYPE为7,8或9,则XYZField不得为空或零;否则无效。

如果我正在通过DROOLS DSL为此目的做出正确的选择,请告诉我。

2 个答案:

答案 0 :(得分:4)

请查看my white paper on Drools Design Patterns,尤其是有关数据验证的部分。

本节介绍了一种策略,该策略规避了在需求中按规则直接创建一个Drools规则。简而言之,您使用数据来描述这些规则,将数据作为事实插入,以及表示实际数据的事实,并编写将描述与数据相关联的规则。您可能会说规则根据数据“解释”描述。

此方法存在优点和缺点,但在启动手写或电子表格规则之前应该考虑它。

答案 1 :(得分:2)

查看 Drools决策表,这样可以让某人更容易输入这1000条规则。