流口水数据库

Drools Database

我正在开发一个基于 Drool 规则的评级系统,以取代用 ASP 和关系数据库制作的旧评级系统。
一切都运行如预期的那样非常好,但是一些规则变得非常广泛,因为评级系统需要将很多常量值与输入进行比较——我不想回到使用外部数据库的解决方案。
这一刻,是否应该使用一些标准数据结构来保存大量常量值?我知道可以为此构建一个 Java 结构......但我的 objective 是将规则文件提供给销售团队,他们几乎不了解 Java 但他们非常好有比率。

例如,我想用更干净的东西替换它:

if("A".equals($inpt)) { $outpt = 0.1; }
else if("B".equals($inpt)) { $outpt = 0.2; }
else if("C".equals($inpt)) { $outpt = 0.3; }

我得猜猜看。假设你有

rule "set output"
when
    $s: Something(  $input: input )
    InToOut( input == $input, $output: output )
then
    modify( $s ){ setOutput( $output ) }
end

如果你给他们骨架,你的销售团队成员一定会理解

rule "setInToOut"
salience 999999999
when
then
    insert( new InToOut( "A", 0.1 ) );
    insert( new InToOut( "B", 0.2 ) );
     ...
end

你可以用一个函数来简化它。