我经常需要实现某种用户可编辑的规则系统 - 要求通常不同,以至于同一系统不能直接应用,所以我经常遇到同样的问题 - 如何设计规则系统那
是可维护的
适当平衡表现力和易用性
很容易扩展(如果/当我得到(2)错误).
我认为规则系统/ DSL非常有价值,但我对我正确设计它们的能力感到不舒服.
您提供哪些参考/提示可能有助于使这更容易?
由于我遇到的问题的性质,现有的语言通常不适用.(例如,你不能要求普通计算机用户学习,以写电子邮件过滤器蟒蛇.)同样,规则语言,如JESS,都只能解决部分问题,因为一些(简单)的用户界面需要建立在 - 规则语言的顶层,以便非程序员可以使用它.该界面总是涉及移除一些特征,或使这些特征更难以使用,并且该过程带来上述相同的问题.
编辑:为了澄清,问题是关于设计规则引擎,我不是在寻找预建的规则引擎.如果您建议使用规则引擎,请解释它如何解决有关做出正确设计决策的问题.