规则引擎的原理及作用--drools技术指南【附网盘下载链接】

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
从字面意思来看 规则 按照规定的条件 引擎 使得待定的事物运转起来
总结 :在符合特定规则条件下,去做某件事情,并得到期望的结果。

规则引擎要做的就是:使得替换掉这条流程中的特定条件和符合条件后的特定操作的成本非常低。

规则引擎语义
规则引擎可以用以下非常简单,简洁的语义表达:
如果发生了X,那么我们做Y。
if X then Y 


X具体是什么,我们不知道,但是如果发生了X,那么我们肯定想要一个Y,具体Y是什么,还是不知道。
X不知道没关系,因为是可以随时添加的。Y也是要可以随时调整的。

所以,规则引擎,应对的是: 不明确的业务需求,以及明确但可能大量快速变动的需求。业务规则变来变去的需求.
规则引擎甚至可看做是用程序去满足现实世界中的多样性和多变性 ,但这个本身就不是程序的强项。


规则引擎的优缺点
优点
    可应对快速变化的商业业务逻辑
    规则可插播,外部化。与应用代码分离,解耦
缺点
    难以debug,因为规则引擎就是个黑盒子
    使用过或者废弃了的规则没人维护,也不好从代码中删除
    要给非技术人员界面用来配置规则,并将规则转换,映射到具体执行代码中
    规则越来越多,项目越来越臃肿,更加难以维护
    规则数量的增多和判断判断的速度会影响引擎的执行效率
    没有else
    
规则引擎相关的技术产品
Drools  两种方式实现Drools,一种是将规则文件配置在项目中,一种是动态读取
ILog JRules  商业版本
JSR94 是关于Java规则引擎API的规范

 

链接:https://pan.baidu.com/s/1DeutqjxjeW0gNSDYjpfSgA 

提取码:k179

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值