JJu*_*ior 5 rule-engine drools
这更像是一个普遍的问题.但我试图理解使用工具的概念以及为什么需要这个工具.我一直在四处走动.
q)为什么我们需要规则引擎?
我一直在阅读Drools和ILOG规则引擎,我仍然不清楚组织使用这些工具可以获得什么好处的概念.
q)是否只是为业务用户提供了一种向数据库(存储库)发出查询(被称为规则)的方法?
与获得的收益相比,这个额外的s/w是否只会花费更多的资金用于许可证和支持?
我们总是让所有的应用程序做同样的事情.
示例:如果销售额<$ 5000000,则订单出货=否
以上是业务逻辑的示例.这很容易在程序中实现.那么通过规则引擎获得的好处是什么?
任何输入都会很棒!谢谢.
您看过这个文档吗:为什么我应该使用规则引擎?
何时使用和不使用规则引擎非常清楚。
仔细看看这 2 段:
1.2.5。强耦合和松耦合
毫无疑问,您在系统设计中听说过“紧耦合”和“松耦合”等术语。一般来说,人们断言“松散”或“弱”耦合在设计方面更可取,因为它提供了额外的灵活性。同样,您可以有“强耦合”和“弱耦合”规则。从这个意义上讲,强耦合意味着一个规则“触发”显然会导致另一条规则触发,依此类推;换句话说,有一个清晰的(可能是显而易见的)逻辑链。如果你的规则都是强耦合的,那么很可能会变得不灵活,更重要的是,规则引擎是一种矫枉过正的做法。清晰的链可以被硬编码,或者使用决策树来实现。这并不是说强耦合本质上是不好的,而是在考虑规则引擎和捕获规则的方式时要记住这一点。“松散”耦合的规则应该产生一个允许更改、删除和添加规则而不需要更改其他不相关规则的系统。
和
在我看来,在使用规则引擎的兴奋中,人们忘记了规则引擎只是复杂应用程序或解决方案的一部分。规则引擎并不是真正旨在处理工作流或流程执行,工作流引擎或流程管理工具也不是为执行规则而设计的。使用适合工作的正确工具。当然,在紧要关头,一把钳子可以用作锤击工具,但这不是它的设计目的。——戴夫·哈穆
希望能帮助到你