我需要一些关于解决这个问题的最佳方法的建议.
我研究了DROOLS,Java Rule Engine和其他一些.所有这些都是强大的,并且对它们有好处.我不知道哪个(如果有的话)对我来说是最好的选择.
我有一个业务对象.(简化演示)
Person
firstName:String
lastName:String
departMent:String
hireDate:Date
Run Code Online (Sandbox Code Playgroud)
我需要在Web应用程序中编写一个编辑器,以便围绕这些字段构建复杂的规则.我需要支持复杂的嵌套AND/OR逻辑.我只需要基本的运算符,规则应该简单地评估为真或假.如果规则评估为true或false,则将分别执行一个操作.
例如,
firstName CONTAINS"value"AND(lastName EQUALS"input"OR department CONTAINS"input")
我曾想过,也许我应该编写自己的解析器并在我自己的代码中评估逻辑.我不知道该怎么做,任何建议或链接到阅读的东西将不胜感激.我可以研究一种特定的设计模式吗?
你会如何解决这个问题?关于规则引擎的一个保留意见是,它们可能过于复杂而不仅仅是一个简单的问题?
JavaScript中是否有任何规则引擎?
问题出在这样的背景下:
在提交表单之后,在服务器端也应用相同的业务逻辑,尽管是在Java中,以防止在浏览器端发生任何意外/操作.
现在,如果我们有一个JSR 94/Drools/JRules规则引擎可以在Java和JavaScript中执行规则,那不是很好吗?使用这样的规则引擎,我可以避免硬编码我的规则,并且我还保留了客户端和服务器端验证的灵活性
(PS:我已经尝试过AJAX路线并且看到应用程序响应速度慢很多,因此很难向习惯于手动编码的纯JavaScript版本的用户销售.)
规则引擎和专家系统有什么区别?
例1:假设我有一个程序来确定新驾驶执照的到期日期.它需要签证有效期,护照号码,生日等输入.它根据此输入确定驾驶执照的到期日期.如果输入没有足够的有效标识来允许新的驾驶执照,它甚至会出错.
例2:假设我正在制作游戏Monopoly的在线版本.我希望能够改变比赛的规则(比如传球去400美元,或者没有人可以购买房产,直到他们两次落在同一个房产上等).我在代码中有一个模块来处理这些规则.
这些都是规则引擎还是专家系统?它们看起来都很相似.它只是一个同义词吗?
我们的系统(外来商品衍生品贸易捕获和风险管理)很快就会重新开发.我听到的一个建议是,将整合一个规则引擎,使最终用户(商品交易者,如此相当复杂)更容易对业务逻辑进行某些更改.
我对规则引擎有点怀疑.我的敏捷主义者想知道它们是否只是一个过程问题的技术解决方案......即.我们的开发人员需要很长时间来响应业务变更的需求.该问题的解决方案应该是更加协作的开发方法,更好的测试覆盖率,更全面的敏捷实践.
听取规则引擎真正有利的情况(特别是在交易环境中)肯定会有所帮助.
什么是最好或最流行的规则引擎?我还没有选择编程语言,所以请告诉我规则引擎及其支持的编程语言.
我应该在C#中创建一个简单的规则引擎.关于我如何进行的任何线索?它是一个简约的规则引擎,并将使用SQL服务器作为后端.我们是否有通常适用于规则引擎的一般蓝图或设计模式?我可以使用哪种.Net技术来设计一种?任何指示都会有所帮助.谢谢.
在工作中讨论了使用prolog作为web-app上规则引擎的后端.这将如何与现有系统联系起来?是否有可用于其他语言的prolog库,允许调用prolog模块.
我正在寻找一种简单的方法让用户定义一组规则来过滤对象.
例如.让他们定义类似"如果预订日期<2009/04/30且值> 100.00,请通知我预订"
或多或少:我想拥有一个带有自定义DSL的Ruby规则引擎.
有图书馆提供吗?遇到过Ruleby,但它还不支持自定义DSL.
最好的办法是什么?
我有一个.DRL文件,它说了10个规则.一旦我插入事实,可能会匹配一些规则 - 如何找出以编程方式匹配的规则?
rule-engine ×10
c# ×2
drools ×2
java ×2
javascript ×1
jrules ×1
prolog ×1
ruby ×1
rules ×1
sql-server ×1