我不是Drools专家。不过,我对它有一些熟悉,通过试验它。我无法理解,为什么我需要它。
我的典型应用是商业Web应用程序。是的,他们确实有一些规则。但这些是使用数据库表,SQL查询和一个很好的用户界面实现的,以便业务用户修改规则。规则不是任意的,它们在投入生产之前都经过仔细考虑。
我的商业用户永远不会使用(Drools)脚本语言来修改任何东西。单独修改规则。他们非常高兴使用UI屏幕来修改规则。另外,如果我让它们靠近它,它们可以在Drools文件中产生无数的语法错误。
再次 - 为什么我应该在这种情况下使用Drools? - 我见过的Drools狂热分子坚持认为我应该改变我的所有代码以利用Drools。
那么,Drools有用吗?我不确定。
无论他们热衷于什么话题,都应该质疑所有条纹的狂热分子。
数据驱动的决策表是实现复杂行为的完美方式。在它不能按照您的要求进行扩展或执行的那一天,也许您会想要考虑别的事情。
除非我有令人信服的理由,否则我不想在工作生产代码中进行技术交换。粉丝男孩游说会花费更多。
如果你真的很感兴趣,可以做一个PoC并获得一些真实的数据。如果没有,请学习如何礼貌地微笑并忽略它们。
我以前回答过这个问题:
更新:如果它是你的老板,你不能解雇,那么让它基于接口并在PoC中尝试Drools实现。如果您正在使用Spring,请注入一个然后另一个,在有意义的生产额定负载下测量性能。获取一些真实的数据 - 也许你们都会学到一些东西。
规则引擎的优点是;