业务规则引擎(Business Rule Engine)

业务规则引擎(Business Rule Engine)什么是规则引擎在实际的业务场景中, 会有多个业务规则, 这些政策可能是公司策略, 也可能是法律法规要求. 例如在注册新用户时, 如果年龄小于18岁则需要同意额外的用户协议, 或者在促销时, 满足一定的金额要求则进行部分费用减免. 这些都是业务规则, 而基于这些规则, 给定一个或多个事实, 事实满足规则后可执行一些动作, 这便是规则引擎. 简单来说,你可以看成一堆 if-else 语句.基本上, 规则引擎围绕以下几个点进行操作:规则(Rule)
摘要由CSDN通过智能技术生成

业务规则引擎(Business Rule Engine)

什么是规则引擎

在实际的业务场景中, 会有多个业务规则, 这些政策可能是公司策略, 也可能是法律法规要求. 例如在注册新用户时, 如果年龄小于18岁则需要同意额外的用户协议, 或者在促销时, 满足一定的金额要求则进行部分费用减免. 这些都是业务规则, 而基于这些规则, 给定一个或多个事实, 事实满足规则后可执行一些动作, 这便是规则引擎. 简单来说,你可以看成一堆 if-else 语句.

基本上, 规则引擎围绕以下几个点进行操作:

  • 规则(Rule), 即是条件.
  • 事实(Fact), 存在某种东西是一种事实, 不存在某种东西也是一种事实, 规则引擎将现有的事实带入到规则中, 如果满足则执行动作.
  • 动作(Action), 满足某种规则后需要执行的动作.

为什么需要规则引擎

主要有以下几个原因:

  • 业务规则是多变的. 例如今天可能针对22岁以下的用户给予学生优惠, 明天则可能只针对18岁以下的用户给予学生优惠. 你肯定不想天天改这部分代码.

  • 业务规则具有种类多的特点. 例如满100元减免50元. 满200元减免110元. 满300元打1折 等等等等很多种规则, 如果将这部分逻辑硬写到代码里, 会有大量的条件判断, 且难以维护. 并且业务反复更改时, 都需要反复变更这部分代码.

  • 需要满足时效性要求. 规则硬编码到程序内部意味着规则的更改需要编码和部署, 整个上线流程是需要花费时间的, 如果能够在业务规则发生变化时, 动态重新加载规则, 甚至无需重新部署则新的规则便可应用, 那就极大的减少了变更规则带来的时间成本.

  • 让运营人员自己可动态配置规则. 这是很多人使用规则引擎所期望的一件事情,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值