我经常需要实现一些用户可编辑的规则系统 - 要求通常不同到不能直接应用相同的系统,因此我经常遇到同样的问题 - 如何设计一个规则系统:
您有什么参考/提示可以提供,以帮助使这更容易?由于我遇到的问题的性质,现有的语言通常不适用。(例如,您不需要让普通计算机用户学习Python才能编写电子邮件过滤器。)同样,诸如JESS的规则语言只是部分解决方案,因为需要在规则语言之上构建一些(更简单的)用户界面,以便非程序员可以使用它。该界面不可避免地涉及删除某些功能,或使这些功能更难使用,这个过程会带来上述相同的问题。
编辑:为了澄清,问题是关于设计规则引擎的问题,我不是在寻找预先构建的规则引擎。如果您建议一个规则引擎,请解释一下它如何解决有关做出良好设计决策的问题。
- 易于维护
- 在表达能力与易用性之间平衡得当
- 易于扩展(如果/当我在(2)中犯错误时)。
您有什么参考/提示可以提供,以帮助使这更容易?由于我遇到的问题的性质,现有的语言通常不适用。(例如,您不需要让普通计算机用户学习Python才能编写电子邮件过滤器。)同样,诸如JESS的规则语言只是部分解决方案,因为需要在规则语言之上构建一些(更简单的)用户界面,以便非程序员可以使用它。该界面不可避免地涉及删除某些功能,或使这些功能更难使用,这个过程会带来上述相同的问题。
编辑:为了澄清,问题是关于设计规则引擎的问题,我不是在寻找预先构建的规则引擎。如果您建议一个规则引擎,请解释一下它如何解决有关做出良好设计决策的问题。