Java 规则引擎

简介

规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。在Java中,大多数流行的规则引擎都实现JSR94

将规则引擎想象成一个以数据和规则作为输入的系统。它将这些规则应用于数据,并根据规则定义为我们提供输出。让我们以一个在线购物为例,我们希望为客户提供某些促销或折扣。

  • 如果购物车总额超过$ 400,可为客户提供20%的折扣。

  • 第一次下单给10%。

规则引擎的特点

  • 简化系统架构,优化应用

  • 提高系统的可维护性

  • 减少编写“硬代码”业务规则的成本和风险

  • 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内

  • 过将规则引擎分开,它提供了更大的可重用性。

规则引擎场景

  • 流程分支非常复杂,规则变量庞大

  • 有不确定性的需求,变更频率较高

  • 需要快速做出响应和决策

  • 规则变更期望脱离于开发人员,脱离coding

Java常用规则引擎

EasyRule

Drools

posted @ 2020-04-08 16:44  Co~Co  阅读(1027)  评论(0编辑  收藏  举报