规则引擎规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。个人理解变化点过于集中在一点,为了适应变化,而给各种场景分别写了各自关于那点的代 ...
规则引擎
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
个人理解
变化点过于集中在一点,为了适应变化,而给各种场景分别写了各自关于那点的代码逻辑,尽管主要的业务逻辑相同。
适用点举例
计算折扣,需要根据客户的积分决定打折点
工作流具体节点的路由控制
其他(希望大家补充下,想象力有限...)
用法
以计算客户打折点为例:
我们首先得新建一个规则文件,用来定义各个场景对应的折扣计算方式,如下:
#region 折扣规则 //这个是规则名称,在C#代码中会使用到这个名称,此处为"折扣规则" rule default //默认规则,必须存在,如果C#代码中指定的子规则名称没有找到,则默认应用default规则(有开关能设置如没有找到子规则是否报错) return 1; end rule rule A公司 //子规则名称,此处为"A公司" if(customerScore>=0&&customerScore<100) return 1; if(customerScore>=100&&customerScore<300) return 0.8; return 0.5; end rule rule B公司 //子规则名称,此处为"B公司" if(customerScore>=0&&customerScore<100) return 0.9; if(customerScore>=100&&customerScore<300) return 0.7; return 0.6; end rule#endregion
原标题:.Net规则引擎介绍
关键词:.NET
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。