规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。比较常见的业务规则引擎有Drools、VisualRules 和iLog。这里介绍另外一 ...
规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。比较常见的业务规则引擎有Drools、VisualRules 和iLog。这里介绍另外一个C#开源工具RulesEngine。下面通过一个例子来他如何使用。
1 项目结构
在RulesEngine源代码中添加一个RulesEngineDemo的窗体应用程序,然后引用需要的类库,如下图所示:
2 订单等实体类定义
这里用订单的场景来用规则引擎处理折扣的业务逻辑:
public class Order { public double amount; public double num; public double discount; public double afteramount; public DateTime datetime; public List<items> ItemLists; public get='_blank'>string maker;//购买人 public string wfprocess;//审批人 public string wfprocessname;//审批人 public string memo;//备注 public override string ToString() { string res = string.Format("折扣={0},金额={1},审批人={2}({4}),折后金额={3}", discount, amount, wfprocess, afteramount,wfprocessname); return res; } } //用户 public class Emp { public string id; public string leader; public string name; } //明细 public class items { public string productid; public string productname; public double price; public double num; public double discount; public double amount; public double afteramount; }
原标题:基于RulesEngine的业务规则实现
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。