1

我想为应用程序开发一项功能,它可以像在 Outlook 中那样创建动态规则。我希望每个用户都可以创建规则来自动化进程。这些规则必须在行动之前、行动之后和特定时间/天做某事。

可能的规则如下:
- 如果进程 >= 99% -> 将其设置为已完成
- 在用户插入新项目之前 -> 向“local@localhost.com”发送邮件并等待批准
- 用户更改之后项目的状态 -> 更改所有具有相同名称的项目的状态
- 将每周日凌晨 4:00 的所有项目的状态设置为“旧项目”状态

我尝试使用 Workflow Foundation 规则引擎执行此操作,但我不知道如何实现所有要求。
是否可以使用 WF 执行此操作,还是应该使用其他工具?

4

2 回答 2

1

开源规则引擎。您可以使用它们或查看它们的源代码以获取灵感。 规则引擎

于 2010-08-24T15:11:18.353 回答
1

我曾经使用纯 OOP 设计过这样的系统。规则由一个或多个条件和一个或多个动作组成。每个条件类型和动作类型都是类。条件类知道如何检查外部世界。动作类知道它们是如何“执行”的,即应该做什么来采取动作。每个类都知道如何在视觉上表示自己(对于视觉规则设计器)。

如果您希望仅通过 AND 或 OR 操作连接简单条件,则可以在规则属性中设置此操作。如果您想要更复杂的条件表示,我建议使用一些布尔评估器引擎​​并将条件文本中的每个规则表示为它的 ID。例如。“(RuleA_ID 和 RuleB_ID)或 RuleC_ID”。

于 2010-08-24T14:50:44.573 回答