10

我目前正在用 c# 编写一个 .net 应用程序,并希望检查一些规则,并根据规则通过或失败执行操作。因此,我希望实现一个通用的解决方案,我可以按照良好的 oop 原则重复使用。这使我得出结论,我需要编写一个规则引擎。

我对 c# 有很好的了解,但这是我第一次需要编写规则引擎,因此作为我对此类引擎的设计和开发研究的一部分,我正在寻找有关创建此类引擎的任何提示。如果有我可以查看的任何示例,那么还有什么更好的呢?任何 c#/.net 规则引擎应用程序?典型的 3 层架构中的哪一层应该这样驻留?我快速浏览了 codeplex 和 google 代码,但没有人向我跳出!所以一些方向会很棒。

4

2 回答 2

3

实际上 .NET 有一个一流的规则引擎,旨在与工作流一起使用(正如它的设计目的),但可以轻松地在工作流之外使用:您应该看到“ Windows Workflow Foundation 规则引擎”并检查System.Workflow。活动.规则命名空间。

学习如何在工作流程之外使用规则只需要一点谷歌搜索。

编辑:如果你想检查架构,这里有两个开源预建引擎:

于 2011-05-14T00:59:41.653 回答
0

构建和实现自己的规则引擎可能是一项非常艰巨的任务,需要考虑很多事情。您将面临的最大问题是试图决定触发哪些规则以及何时触发。不给予适当的关注可能会导致实现中的性能问题。我强烈建议您专注于业务问题,并为您的主题专家 (SME) 提供定义和维护自己的规则的能力。有很多很好的商业产品可以做到这一点。我多次成功实施的是www.inrule.com。他们有一套很好的产品,可以帮助解决简单和复杂的问题。希望这会有所帮助。

于 2011-06-01T12:00:53.620 回答