工作流活动开发:规则与自定义活动实践
规则驱动方法的优势与应用
规则驱动的工作流处理方式具有独特的优势。传统的命令式模型在处理复杂规则时,如多个嵌套的IfElse活动和优先级问题,表现不佳。例如,在处理塑料政策示例时,使用多个嵌套的IfElse活动结合ConditionedActivityGroup活动,通过可视化工作流设计器进行命令式构建,这种方式效率低下。
而规则驱动的方法则能简化处理模型,将多个嵌套活动整合为一个。并且,规则作为资源,更易于替换,相比部署新的程序集更加灵活。在实际的工作流中,往往是命令式和规则驱动方法的结合,关键在于根据工作流的实际情况选择合适的工具。
以下是一些规则驱动方法的具体应用操作:
| 操作目的 | 操作步骤 |
| — | — |
| 使用规则条件替代代码条件 | 在给定条件活动的Condition属性中,选择Declarative Rule Condition并提供规则。 |
| 在工作流中使用策略 | 将Policy活动实例拖放到工作流中,并根据处理需求编辑RuleSet。 |
| 指示规则之间的依赖关系 | 规则之间的依赖关系体现为规则之间共享的字段和属性(工作流状态)。若要指示规则引擎可能无法自动理解的依赖关系,可使用基于规则的属性(RuleRead、RuleWrite和R