如何设计规则引擎?

时间:2020-03-06 14:21:39  来源:igfitidea点击:

我应该在C#中创建一个简单的规则引擎。关于如何进行的任何线索?这是一个简约的规则引擎,将使用SQL Server作为后端。我们是否有一般适用于规则引擎的一般蓝图或者设计模式?我可以使用哪种.Net技术进行设计?任何方向都会有所帮助。
谢谢。

解决方案

我们想要哪种规则引擎?对于样式实践?如果是这样,请查看StyleCop。不是答案,但是可能已经有适合东西。

  • 考虑到有太多可用的商业和开源资源,我不敢相信我们会自己实现。
  • 我建议我们将InRule视为价格合理的出色商业选择,或者将其视为开源空间中的NxBRE。

如果使用的是.NET 3.0或者更高版本,则可以使用Windows Workflow Foundation的规则引擎,而不必手动使用Workflow。

我已经在一个项目上完成了此操作,我们可以将SQL或者XML用作后端,并且效果很好。我们可以使用Workflow示例随附的IDE,并将其放在自己的应用程序中。太好了

我们对方法有任何指示吗? (即,如果这是课程材料的补充,我们目前正在学习什么?)如果这是一个相当基本的系统,那么我们可能会在确定性有限状态机和非确定性有限状态机方面取得成功

如果我们有业务分析师来对高级规则引擎进行编程,则可以选择上述规则引擎之一,也可以自己滚动(包括工作流)。如果没有,那么只需用代码编写业务逻辑,并且如果我们需要雇用业务分析师并重做系统,那么我们将处在一个合适的位置。