![91e8e03ee097486531a5eae85448d39f.png](https://i-blog.csdnimg.cn/blog_migrate/3316cce3f3d138944f9f8f96b4f6fa82.jpeg)
规则引擎C
前文跨境仓储物流L000026规则引擎B 跨境仓储物流L000025规则引擎A 提到 系统项目都是规则的堆砌
而项目中每个模块,接口的本质如下图
![3723ede68fbbd4c70cf82cb14ebca173.png](https://i-blog.csdnimg.cn/blog_migrate/0182bbae9e6ea803d7d1a973be4771f4.jpeg)
规则引擎C
上述规则中比前文增加了 公式规则
![314ff2858b888fba7cafcce6c031a2ff.png](https://i-blog.csdnimg.cn/blog_migrate/7878c4abd089e4100b96b3431b1c4ad3.jpeg)
规则引擎C
规则都是细化到模块的应用,上述是一些基础设想,其中想提到的是 ,比较复杂的设计在于 公式规则 和流程规则
公式规则
任何涉及到需要系统运算后得到期望结果的公式
比如如下图 ,价格公式
![061d1fbf5d43c3b37d833c32262ac6ca.png](https://i-blog.csdnimg.cn/blog_migrate/9ba1214af8e7ddd6f7acf92099103ff1.jpeg)
规则引擎C
分区代表了区域范围,每个区域范围都对应的一份 完整的 重量段 阶梯价格表
价格表 等待接收订单的 计费要素,得到 应收或者应付价格
公式规则 特指 涉及到 计算的规则,目前还没涉及到 微积分、线性代数之类的公式配置,只是一些非常简单的 四则运算
再举一些 例子
我们接触到 的 电商平台 ,订单的费用计算是基础的 四则运算,最多比较复杂 地方是 在于应用 一些 促销 规则 ,这些促销规则不仅承担了 费用计算的功能,也承担了,识别 当前订单的条件是否符合促销的要求
所以 大部分情况下,公式规则 都会 附加上 校验规则 ,比如上图 表格之上的 就是 一个简单的校验条件
一个系统 几个方面 都是要考虑 规则 定义 的 复杂程度
1.客户的简单选择方式
2.系统响应速度--不能计算的过于复杂,延迟等待时间
3.是否必须用规则去配置 ?当系统针对此模块的2年内的变更成本 比较于 预先开发出规则配置投入的成本 ,用规则实现或许不是件好的选择,核心的点是,谁也不能保证 变更成本是否可控