首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

规则引擎课程-规则流

2013-07-08 
规则引擎教程--规则流?????我们在开发规则过程中,规则的执行顺序都是从上到下执行的。规则流是用来控制执行

规则引擎教程--规则流

?

????我们在开发规则过程中,规则的执行顺序都是从上到下执行的。规则流是用来控制执行规则顺序的,我们可以在规则流程图中通过连线的方式,设置规则、规则集、决策表执行的顺序。需要注意的是在规则流程图中我们只能控制一级规则执行顺序,不能控制到规则集下面的子规则执行顺序。

?

?

?

右键名为“功能解析”的工程,点击“新建规则包”,创建一个名为“规则流”的规则包,如下图所示:


规则引擎课程-规则流
?

规则引擎课程-规则流
?

该规则包中需要在对象库中,只需定义一个变量:a(a)。如下图所示:

?

?


规则引擎课程-规则流
?

我们创建好了规则包,添加了变量,然后我们需要添加一个“规则流程”,添加过程如下图所示:

?
规则引擎课程-规则流
?
规则引擎课程-规则流

?

?

流程图添加好了之后,我们需要在流程图下添加三个规则,然后我们需要在流程图中设置这三个规则的执行的顺序。

?

首先,我们在流程图中添加个名为“a等于1”的规则,添加过程如下图所示:


规则引擎课程-规则流
?
?
规则引擎课程-规则流

?

“a等于1”规则添加完成之后,我们要在该规则中编写具体的规则逻辑,过程如下图所示:


规则引擎课程-规则流
?
?
规则引擎课程-规则流
?
规则引擎课程-规则流
?
规则引擎课程-规则流
?
规则引擎课程-规则流
?

?

这样“a等于1”的规则就完成了。然后,我们接下来添加个“a加上1”的规则,如下图所示:

?


规则引擎课程-规则流
?

我们在规则“a加上1”中设计的规则逻辑,如下图:


规则引擎课程-规则流
?

规则“a加上1”完成之后,最后还要添加个“a乘以2”的规则,如下图所示:

?


规则引擎课程-规则流
?

最后,我们需要在“a乘以2”规则中,添加如下的规则逻辑:


规则引擎课程-规则流
?

?

规则逻辑完成之后,我们要在流程图那里设置规则的执行顺序。选择流程图,通过连线、拖动的方式,把流程规则连接成下图所示:

?


规则引擎课程-规则流
?

?

?

这样该流程图就是按照上图中的连线方式顺序执行。这样a的输出期望结果就是4。

?

规则包编写完成之后,我们需要对该规则进行保存、编译,点击“全部保存”按钮,如下图所示:


规则引擎课程-规则流
?

我们来测试该“流程图”的输出结果,测试过程如下图所示:

?


规则引擎课程-规则流
?

?

我们可以看到在上述执行顺序下,a的输出结果值为“4”,与该规则的期望的结果是相同的。为了更好理解流程图的执行顺序,在流程图中修改规则“a加上1”与“a乘以2”的执行顺序。首先是要把之前多余的连线删除掉,删除过程如下图所示:

?


规则引擎课程-规则流
?

删除完成后,流程图如下图所示:


规则引擎课程-规则流
?

?

然后,再连线不同的规则,设置流程图的执行顺序,完成后如下图所示:

?


规则引擎课程-规则流
?

这样变量“a”应该是先乘后加,输出期望结果应该为3。

?

保存并编译规则包。我们可以在流程图的测试中,测试下变量“a”的输出结果,测试步骤如下图所示:


规则引擎课程-规则流
?

?

变量“a”的实际结果值与期望结果值都为3,测试完成!

?

热点排行