美文网首页
规则引擎

规则引擎

作者: quanzongwei | 来源:发表于2019-09-30 13:24 被阅读0次

什么是规则引擎?

所谓的规则引擎就是一组规则加上一组动作, 当某种规则被满足后触发某个动作

业务痛点

多变的需求

产品的需求千变万化,代码需要不断的修改

复杂的业务逻辑

由于需求和业务的复杂性,代码中很可能会出现层层嵌套的if else语句, 每次修改代码,都要仔细阅读上下文, 所有的if else都要考虑,这显然会增加开发成本, 同时也很容易出错

临时修改业务逻辑

如果产品需要临时修改业务逻辑, 比如某一天使用一种特殊的业务逻辑, 之后又恢复正常, 没有规则引擎的话, 就需要进行两次发布, 大家都知道, 发布的成本是很高的, 需要 stop the world.

紧急修改业务逻辑

如果线上出现一些预想之外的场景, 需要紧急修改业务逻辑, 那么此时就需要进行一次额外的发布, 对于大型项目的发布可能持续数个小时, 期间无法对外提供服务

机器学习, 动态规则

假如我们的业务规则, 是通过机器学习来制定的, 支持动态的调整规则, 那么硬编码的方式显然是不适合的

使用规则引擎解耦业务代码

主要目的是将if else 从业务代码中解耦出来.

业务代码中少不了if else语句, 当业务简单固定的时候, 使用if else没有任何问题,如下所示:

        if(a==0){
            action1();
        }

但是如果if语句层层嵌套的话, 会让业务逻辑很难看懂, 后面接手的开发人员都不敢改这部分代码,如下所示:

        if (a == 0) {
            action1();
        } else {
            if (b == 1) {
                action2();
            } else {
                if (c==3){
                    if (d==4){
                        action3();
                    }
                }
            }
        }

大家看到这部分代码估计会想吐血, 即使是自己写的, 也会有种看不懂的感觉, 当我们引入规则引擎的时候, 就会变成下面这个样子:

规则引擎.png

这样通过规则引擎, 将规则抽离出来, 这种规则就比层层嵌套的if else显得更加直观, 项目代码的可读性和可维护性将会大大提高

规则引擎适用的场景

  1. 积分规则

  2. 打码平台选择

  3. 运营商资费套餐

  4. 工资计算

  5. 绩效指标

  6. 为订单选取最优优惠券

  7. 风险控制

  8. 预警系统

场景的主要特征, 本身业务逻辑的分支比较多, 错综复杂, 并且这些规则在未来是可能或者很可能改变的, 引入规则引擎之后,可以通过修改规则来修改业务逻辑, 这会大大降低业务代码的复杂性

相关文章

  • 谈一谈规则引擎在活动系统中的落地

    本文从 “为什么需要规则引擎” “规则引擎的定义” “规则引擎在营销活动系统中的落地” “规则引擎平台内部架构” ...

  • php写个简单的规则引擎demo

    1、规则引擎简介 规则引擎是一种推理引擎,它是根据已有的事实,从规则知识库中匹配规则,并处理存在冲突的规则,执行最...

  • Java常用的规则引擎

    概述 在本文中,我们将介绍Java中一些最受欢迎的规则引擎。 规则引擎简介 规则引擎由推理引擎发展而来,是一种嵌入...

  • 规则引擎的优缺点

    为何要使用规则引擎? 讨论规则引擎时,下边这些问题经常被提及: 什么时候应当使用规则引擎? 相较与使用使用“if....

  • 自学Java项目之规则引擎

    项目:规则引擎专题 规则引擎,全称为业务规则管理系统,英文名BRMS(Business Rule Manageme...

  • 规则引擎

    场景 业务风控,主要是下单、支付、优惠券、红包、签到等行为的风险控制,对抗的风险行为包括黄牛刷单、恶意占用库存、机...

  • 规则引擎

    1.正向链、反向链 2.误差的分类 4.复合概率

  • 规则引擎

    什么是规则引擎? 所谓的规则引擎就是一组规则加上一组动作, 当某种规则被满足后触发某个动作 业务痛点 多变的需求 ...

  • 规则引擎

    规则引擎https://www.yuque.com/yangdakang/kb/bstdgr[https://ww...

  • 规则引擎

    什么是规则引擎 业务场景一般都是杂糅繁复的,于是代码很容易就互相嵌套、错综复杂、结构不清晰,同时维护成本高,可读性...

网友评论

      本文标题:规则引擎

      本文链接:https://www.haomeiwen.com/subject/yfgcpctx.html