【发布时间】:2010-09-09 05:02:10
【问题描述】:
我经常需要实现某种用户可编辑的规则系统——要求通常不同,以至于同一个系统不能直接适用,所以我经常遇到同样的问题——我该如何设计一个规则系统,
- 可维护
- 恰当地平衡表现力和易用性
- 很容易扩展(如果/当我得到 (2) 错误时)。
我认为规则系统/DSL 非常有价值,但我对自己正确设计它们的能力感到不自在。
您必须提供哪些参考资料/提示可以帮助简化此操作?
由于我遇到的问题的性质,现有语言通常不适用。 (例如,您不要求普通计算机用户学习 Python 才能编写电子邮件过滤器。)类似地,规则 语言,例如 JESS,仅适用于部分解决方案,因为需要在规则语言之上构建一些(更简单的)用户界面,以便非程序员可以使用它。这个界面总是涉及删除一些功能,或者使这些功能更难使用,而process 会带来与上述相同的问题。
编辑:为了澄清,问题是关于设计一个规则引擎,我不是在寻找一个预先构建的规则引擎。如果您建议使用规则引擎,请说明它如何解决有关做出良好设计决策的问题。
【问题讨论】:
标签: user-interface filtering dsl rules