我想为应用程序开发一个功能,这样就可以像在Outlook中一样创建动态规则。我希望每个用户都可以创建规则来自动化precesses。这些规则必须在行动之前,行动之后和特定时间/日期之前做一些事情。
可能的规则如下:
- 如果过程> = 99% - >将其设置为已完成
- 在用户插入新项目之前 - >发送邮件至“local@localhost.com”并等待批准
- 用户更改项目状态后 - >使用等号名称更改所有项目的状态
- 在每个星期天凌晨4点将所有项目的状态设置为州“旧项目”
我尝试使用Workflow Foundation规则引擎执行此操作,但我不知道如何实现所有要求 是否可以使用WF执行此操作,还是应该使用其他工具?
答案 0 :(得分:1)
我曾经使用纯OOP设计过这样的系统。规则由一个或多个条件和一个或多个动作组成。每个条件类型和操作类型都是类。条件类知道如何检查外部世界。行动类知道它们是如何“被执行”的,即采取行动应采取的措施。每个类都知道如何在视觉上表示自己(对于可视规则设计者)。
如果只想通过AND或OR操作连接简单条件,则可以在规则属性中设置此操作。如果你想要更复杂的条件表示,我建议使用一些布尔评估器引擎,并将条件文本中的每个规则表示为它的ID。例如。 “(RuleA_ID AND RuleB_ID)或RuleC_ID”。
答案 1 :(得分:1)
开源规则引擎。您可以使用它们或查看其源代码以获取灵感。 Rule Engines