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

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

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

  • 第一次下单给10%。

规则引擎的特点

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

  • 提高系统的可维护性

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

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

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

规则引擎场景

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

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

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

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

Java常用规则引擎

EasyRule

Drools

相关文章:

  • 2021-11-14
  • 2021-07-26
  • 2021-09-20
  • 2021-08-11
猜你喜欢
  • 2021-12-19
  • 2022-12-23
  • 2021-08-26
  • 2021-11-23
  • 2022-03-08
  • 2022-12-23
相关资源
相似解决方案