gydtep
发表于 2020-9-30 09:44:53
因为 Flutter 还是一个快速迭代的技术,一旦开始分化,再跟进官方的进展就很难了,前期接入的业务就会成为历史包袱,要极力避免这种情况。
gydtep
发表于 2020-9-30 11:35:37
规则引擎主要完成的就是将业务规则从代码中分离出来。在规则引擎中,利用规则语言将规则定义为if-then的形式,if中定义了规则的条件,then中定义了规则的结果。
gydtep
发表于 2020-9-30 11:53:02
规则引擎会基于数据对这些规则进行计算,找出匹配的规则。这样,当规则需要修改时,无需进行代码级的修改,只需要修改对应的规则,可以有效减少代码的开发量和维护量。
gydtep
发表于 2020-9-30 14:40:59
规则引擎缺点
复杂性提高
需要学习新的规则语法
引入新组件的风险
gydtep
发表于 2020-9-30 15:44:36
LeftInputAdapter Node:用来对2个规则队形进行比较,将一个single Object 转化为一个单对象数组(因为BetaNode左边入口往往是一个list规则队形),传播到 JoinNode 节点。
gydtep
发表于 2020-9-30 16:32:26
Join Node :用于聚合BetaNode节点的结果。
Drools 中的 Rete 算法被称为 ReteOO,表示 Drools 为面向对象系统(Object Oriented systems)增强并优化了 Rete 算法。
gydtep
发表于 2020-9-30 17:56:14
Drools允许使用声明方式表达业务逻辑。可以使用非XML的本地语言编写规则,从而便于学习和理解。并且,还可以将Java代码直接嵌入到规则文件中,这令Drools的学习更加吸引人。
gydtep
发表于 2020-9-30 18:01:00
规则(rule):是由条件和结论构成的推理语句,一般表示为if...Then。一个规则的if部分称为LHS,then部分称为RHS。
gydtep
发表于 2020-10-1 08:55:17
为了实现高效地预计算结果复用,我们构建的预计算缓存一般都较为通用,因此对于用户query,还需进行进一步的计算方能获得最终结果。
gydtep
发表于 2020-10-1 10:21:04
因此,如何快速地找出匹配的缓存,并构建出准确的新执行计划,就显得尤为重要。