Java常用的规则引擎,让你变动的代码更加容易维护
概述 在本文中,我们将介绍Java中一些最受欢迎的规则引擎。 规则引擎简介 规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。在Java中,大多数流行的规则引擎都实现JSR94 将规则引擎想象成一个以数据和规则作为输入的系统。它将这些规则应用于数据,并根据规则定义为我们提供输出。让我们以一个在线购物为例,我们希望为客户提供某些促销或折扣。 如果购物车总额超过$ 400,可为客户提供20%的折扣。 第一次下单给10%。 上面将购物车和客户定义为满足规则集中定义的条件的规则将在其中执行的数据。 规则引擎的优点 简化系统架构,优化应用 提高系统的可维护性 减少编写“硬代码”业务规则的成本和风险 应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内 过将规则引擎分开,它提供了更大的可重用性。 规则引擎场景 流程分支非常复杂,规则变量庞大 有不确定性的需求,变更频率较高 需要快速做出响应和决策 规则变更期望脱离于开发人员,脱离coding Java 中常用的开源规则引擎有哪些呢? Drools Drools是业务规则管理系统(BRMS)解决方案。它提供了核心业务规则引擎(BRE),Web UI和规则管理应用程序(Drools Workbench)