学习规则引擎——什么是规则引擎

发布时间:2023-02-06 15:07:05 来源:本站编辑:GD工单系统

导读:规则引擎的概念是根据一些算法执行规则的一些列软件系统。规则引擎​整合了传入系统的Fact集合和规则集合,从而去触发一个或多个业务操作。在某些条件下,执行某些任务。 学习规则引擎——什么是规则引擎


知识导读

  • 别再说你不懂规则引擎了!
  • 学习规则引擎——什么是规则引擎
  • 规则引擎在活动系统中实施
  • 通用规则引擎API有哪些特点?
  • 规则引擎助力移动网络升级

  • 规则引擎的概念是根据一些算法执行规则的一些列软件系统。规则引擎整合了传入系统的Fact集合和规则集合,从而去触发一个或多个业务操作。在某些条件下,执行某些任务。在规则引擎出现之前,开发者往往在代码层进行硬编码,充斥着大量的if/else。而业务上这些规则往往是灵活多变,生命周期很短。

    修改一个规则,很可能要读几千行代码才能找到修改点。虽然我们可以合理地利用一些设计模式来优化代码的可读性,但是无法保证所有开发者都会按照相同的方式来去编码(个人认为用项目规范和review来管理代码的开发,可以一定程度减少问题,但很难完全规避)。另外对于业务方来说,大量的规则,也需要进行梳理,管理。

    学习规则引擎——什么是规则引擎


    所以需要一个这样的系统来对规则进行统一规划。特点高灵活性:在规则保存在知识库中,可以在规则变动轻易做出修改。容易掌控:规则比过程代码更易于理解,因此可以有效地来弥补业务分析师和开发人员之间的沟通问题。降低复杂度:在程序中编写大量的判断条件,很可能会造成一场噩梦。使用规则引擎却能够通过一致的表示形式,更好地处理日益复杂的业务逻辑。可重用性:规则集中管理,可提高业务规则的可重用性。而且,传统的代码程序通常会添加不必要的变数,很难进行重复利用。在业务规则没有太多变动,业务规则比较简单的情况下,是没有必要使用规则引擎的。

    开源系统是有一个规则引擎,旨在以Java开发人员熟悉的方式创建规则。RuleBook还允许你使用易于使用的启用Lambda的特定领域语言或自定义的POJO来指定规则。Aviator表达式求值引擎Aviator是一个高性能、轻量级的java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。


    Tag: 规则引擎 规则引擎软件 规则引擎系统