计算机系统应用教程网站

网站首页 > 技术文章 正文

47-drools基础语法(内置方法_介绍)

btikc 2024-11-16 17:20:37 技术文章 1 ℃ 0 评论

接下来继续来看drose基础语法。下一个小节讲的是drose的内置方法。规则文件的rhs部分主要作用是通过插入、删除或修改工作内存中的fact对象来达到控制规则引擎执行的目的。

首先来看rhs前面已经解释过了,是不是就是指的哪一部分?就是这个字跟摁的中间加的这一部分,这个是rhs部分。在这一部分主要做的事通常写的代码是什么?就是通过插入、删除或者修改工作内存中的fact对象或者fact数据。

大家还记得什么是fact吗?是不是指的就是将一个扎到对象,把它加到工作内存中的这种对象就成为fact对象。可以在rhs部分通过drose提供的一些内置的方法,就是插入、删除、修改这些方法来操作fact对象,最终达到控制规则引擎执行的目的。

这是经常在rhs部分来编写的这一类的代码。drose提供了一些方法用来操作工作内存中的这些数据。操作完成后注意看,操作完成后规则引擎会重新进行相关规则的匹配,这句非常重要,一会也可以演示出来效果。

操作完成之后,原先没有匹配成功的规则在操作数据后有可能就会匹配成功了。匹配成功之后是不是就会执行?这是先简单介绍了一下。

首先drose内置了一些方法,这些方法可以在哪用?可以在规则文件或者规则体的rhs部分来使用这些方法。这几个方法就是什么?大家可以看到有update方法、insert方法还有retrac的方法,这是它内置的一些方法。

通过这些方法可以干什么?可以插入、删除、修改工作内存里边的fact对象。修改之后能达到什么样的效果?就是可以导致规则引擎重新进行规则的匹配。原来有一些可能没有匹配成功的规则了,在操作完成这些对象之后有可能就会匹配成功了。这是这些内置方法能够起到的作用。

为了演示这些内置的方法,可以来创建一个实体类,一会就基于实体类来操作。实体类也是非常简单,比如就来一个student,学生这么一个实体类。这个类里面就三个属性id name a,这个都比较简单,先把它来创建一下,为一会来编写测试来提供支持。

在这来创建一个student,在这就不带手敲了,直接把这块整个,三个属性以及对应的get set方法都复制过来,这个没什么好说的。这是学生实体,这是先做好一些准备工作,等一下就来测试一下这三个方法update、insert还有retract这些方法。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表