【发布时间】:2011-05-18 19:24:44
【问题描述】:
我需要一些关于解决此问题的最佳方法的建议。
我研究了 DROOLS、Java 规则引擎和其他一些。所有这些都很强大,并且有它们的优点。我不知道哪个(如果有的话)对我来说是最好的选择。
我有一个业务对象。 (为演示而简化)
Person
firstName:String
lastName:String
departMent:String
hireDate:Date
我需要在 Web 应用程序中编写一个编辑器,以允许围绕这些字段构建复杂的规则。我需要支持复杂的嵌套 AND/OR 逻辑。我只需要基本的运算符,规则应该简单地评估为真或假。如果规则评估为真或假,则将分别执行一项操作。
例如,
firstName 包含“值”并且 (姓氏等于“输入”或部门 包含“输入”)
我曾想过,也许我应该编写自己的解析器并评估自己代码中的逻辑。我不知道该怎么做,任何建议或要阅读的东西的链接将不胜感激。有没有我可以研究的特定设计模式?
你会如何解决这个问题?关于规则引擎的一个保留意见是,它们可能对于一个简单的问题来说太复杂了?
【问题讨论】:
-
啊,我需要一种表达语言。我要去mvel.codehaus.org/Home
-
嗨,你试过easyrules.org吗?它可以帮助您实现您正在寻找的东西。希望这可以帮助。亲切的问候
标签: java business-logic rules rule-engine