规则引擎由推理引擎发展而来,是一种及嵌入在应用程序中的组件,实现了将业务决策从应用代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则作出业务决策。
具有声明试编程,逻辑和数据分离,速度和可扩展性,知识集中性,使得规则的变更不需要修改代码重启机器就可以立即在线上环境生效。
具有哪些缺点呢:复杂性提高,引入新组建可能存在风险;
什么系统适合用规则:
考虑系统运行多久;
规则变更频率等
1)if -----then 句式,与 Rete 引擎
把 if----else-----elseif ---else,拆成 N 条带优先级的 if 条件语句 then 执行语句的句式;
按照优先级匹配条件语句,执行规则语句。
规则执行后会引发事实的变化,引擎又会重新进行条件匹配,知道不能匹配为止,rete 的算法保证了效率的最高;