Windows Workflow Foundation与Windows Communication Foundation的规则引擎及服务消费
1. 规则引擎概述
在定义应用程序逻辑时,有三件事很重要:一是能够在代码中定义逻辑,二是有执行的运行时环境。仅靠这两点,虽能实现应用程序逻辑,但往往会硬编码那些可能改变规则的逻辑方面。Windows Workflow Foundation 包含一个规则引擎,它除了提供构建工作流的对象模型和执行的运行时环境外,还允许将规则与流程分离。
以费用报告场景为例,程序员定义的订单处理流程,其审批路线、经理审批、最终通知和货物支付等结构可能很少改变,除非发现优化方法或合规标准要求不同的审批路径。但决定审批路径的条件可能会更频繁地变化,最初可能仅基于货币金额,如总额大于 75 美元;随着业务变化和对费用审查的增加,可能需要更复杂的条件,如 ((Customer.Category == Silver or Gold) AND Expense.Submitter.LeadingAverageSimilarExpenses > $75) 。这里流程本身未变,只是使用的条件改变了,这种规则与流程的分离对提高流程的灵活性很重要,也是 Windows Workflow Foundation 所采用的声明式编程模型的自然延伸。
规则设计器可在 Windows Forms 应用程序中重新托管,允许在 Visual Studio 之外编辑规则集,方便高级用户或业务分析师设计流程内执行的规则,或在管理工具中进行规则配置。还可以创建完全自定义的规则编写环境来构建规则集。此外,有一个示例应用程序可通过为 Excel 电子表格分配风险评分来定制
超级会员免费看
订阅专栏 解锁全文
53

被折叠的 条评论
为什么被折叠?



