WF(或其他.Net规则引擎)中松散耦合的规则

时间:2014-03-31 18:58:58

标签: .net workflow-foundation business-rules

我一直在阅读Windows WF以及如何在Workflows之外创建和执行规则。但是,所有示例似乎都需要一个定义的类,可以将规则绑定到属性。

我们有一个场景,其中在运行时定义了任意属性和值列表,我们希望针对包含这些值的KeyValuePair或Dictionary执行规则。如果该值不存在,则规则应该失败或忽略它。

例如,假设我们有推荐电影的规则:

  • 规则1:如果类型="思考引发"和评级=" 5"然后设置Movie =" Enemy Mine"
  • 规则2:如果类型="可怕"和评级=" 5"然后设置Movie =" Aliens"
  • 规则3:如果类型="喜剧"和评级=" 2"然后设置Movie =" Dumb and Dumber"
  • 规则4:如果类型="喜剧"和零食="鱼子酱"然后设置Movie =" Big"

如果我们的字典包含此属性和值列表:

Rating = "5"
Genre = "Thought Provoking" 
Movie = ""

这将执行Rule 1并且电影值将设置为" Enemy Mine"

但是,如果我们的字典包含此属性和值列表:

Snack = "Caviar"
Genre = "Comedy" 
Movie = ""

这将执行Rule 4,并且电影值将设置为" Big"

在阅读了有关WF规则的所有讨论和博客后,我无法看到是否有可能在没有具体对象的情况下处理规则。如果WF无法做到这一点,是否有人知道可以使用规则引擎?

我也看过WebRule也出于同样的原因无法做到这一点。

0 个答案:

没有答案