《Drools7.0.0.Final规则引擎教程》KIE概念&FACT对象详解编程语言
KIE(Knowledge Is Everything),知识就是一切的简称。JBoss一系列项目的总称,在《Drools使用概述》章节已经介绍了KIE包含的大部分项目。它们之间有一定的关联,通用一些API。比如涉及到构建(building)、部署(deploying)和加载(loading)等方面都会以KIE作为前缀来表示这些是通用的API。
下图为KIE所包含的子项目结构图:
无论是Drools还是JBPM,生命周期都包含以下部分:
3.2.3 FACT对象
Fact对象是指在使用Drools 规则时,将一个普通的JavaBean对象插入到规则引擎的 WorkingMemory当中的对象。规则可以对Fact对象进行任意的读写操作。Fact对象不是对原来的JavaBean对象进行Clone,而是使用传入的JavaBean对象的引用。规则在进行计算时需要的应用系统数据设置在Fact对象当中,这样规则就可以通过对Fact对象数据的读写实现对应用数据的读写操作。
Fact对象通常是一个具有getter和setter方法的POJO对象,通过getter和setter方法可以方便的实现对Fact对象的读写操作,所以我们可以简单的把 Fact 对象理解为规则与应用系统数据交互的桥梁或通道。
当Fact对象插入到WorkingMemory当中后,会与当前WorkingMemory当中所有的规则进行匹配,同时返回一个FactHandler对象。FactHandler对象是插入到WorkingMemory当中Fact对象的引用句柄,通过FactHandler对象可以实现对Fact对象的删除及修改等操作。
前面的实例中通过调用insert方法将Product对象插入到WorkingMemory当中,Product对象插入到规则中之后就是说为的FACT对象。如果需要插入多个FACT对象,多次调用insert方法,并传入对应FACT对象即可。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/15212.html
cjavaxml相关文章
- 206. 反转链表 & 876. 链表的中间结点
- 【Django | 开发】面试招聘信息网站(用户登录注册&投在线递简历)
- 史上最全的Java&Android面试题搜集整理
- Es6参数展开&剩余参数
- 【Flutter&Flame 游戏 - 叁】手势操作与键盘事件
- 弱网环境搭建之 Linux tc & iptables 详解
- 令人头疼的Javascript隐式&强制转换
- 萌新玩转转存储之Lsass.exe&SAM
- 万能的PDF编辑神器&教程 PDF编辑器全版本下载
- 项目介绍&机器学习及其应用 | 犀牛鸟精英人才计划首场课题宣讲会
- 全球最大的公开人脸数据集 | 清华大学&芯翌科技联合发布
- 7 Papers & Radios | 李旻辰获SIGGRAPH 2021最佳博士论文奖;韩国研发仿变色龙软体机器人
- WordPress 技巧:如何防止网站标题中的 “-” 被转义成 “& #8211;”
- 在 React 条件渲染中使用三元表达式和 “&&”
- 把textarea中字符串里含有的回车换行替换成<br>的javascript代码