最近,我正在阅读 JBOSS Drools 手册 [ref - 2.2.5. 强耦合和松耦合]。下面是它的摘录“如果你的规则都是强耦合的,那么这些规则可能会在未来变得不灵活,更重要的是,规则引擎可能是矫枉过正的(因为逻辑是一个清晰的规则链 - 并且可以被硬编码。[决策树可能是有序的])。这并不是说强耦合或弱耦合本质上是不好的,但在考虑规则引擎以及如何捕获规则时要牢记这一点。“松散”耦合的规则应该产生一个允许更改、删除和添加规则的系统,而无需更改其他不相关的规则。
这是否意味着,规则引擎不适合实现复杂的业务逻辑[紧耦合规则或规则链]。
在我目前的项目中,我们有一系列规则,即一条规则的结果决定另一条规则的结果,依此类推。应用程序有许多内部变量来链接规则。我认为规则引擎可能有助于通过声明性规则和动态业务逻辑的附加优势来处理复杂性。
这方面的讨论会有所帮助......