首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >规则引擎算法解决了什么问题?

规则引擎算法解决了什么问题?
EN

Stack Overflow用户
提问于 2010-03-17 04:36:54
回答 5查看 1.4K关注 0票数 6

规则引擎算法能解决什么问题?

哪些是推荐的?

EN

回答 5

Stack Overflow用户

发布于 2010-03-17 04:42:18

规则引擎可以封装业务逻辑,通常是以声明的方式。这就避免了在软件中自定义编码业务逻辑的需要。

规则引擎算法是如何实现规则匹配和触发的,因此它是一个实现细节,而不是实际解决问题本身。算法可能具有不同的非功能性优势或劣势。规则引擎算法的一个常见示例是在Java规则引擎JESSDrools中使用的Rete Algorithm

票数 6
EN

Stack Overflow用户

发布于 2010-03-17 04:46:46

  • The问题对于传统的代码解决方案来说太麻烦了:问题可能并不复杂,但是你看不到构建it.
  • The问题的一种非易碎的方式超越了任何明显的基于算法的解决方案:它是一个复杂的问题需要解决,没有明显的传统解决方案或者基本上问题不是完全的逻辑变化频繁:逻辑本身可能很简单(但不一定是),但是规则经常变化。在许多组织中,软件版本很少,并且规则可以帮助提供在相当安全的way.
  • Domain中所需要和期望的“敏捷性”。专家(或业务分析师)很容易获得,但都是可用的

摘自this site

票数 1
EN

Stack Overflow用户

发布于 2010-03-18 21:09:09

在最低级别,正向链接规则引擎允许您以大致以下方式构建规则集(通常是大型规则集):

代码语言:javascript
复制
if (Condition A) {assert (Condition B)}
if (Condition C) {assert (Condition B)}
if (Condition B) {do something}

条件也可以有参数:

代码语言:javascript
复制
if (Condition A (X, Y)) {assert (Condition B (X)}
if (Condition C (X)) {assert (Condition B (X)}
if (Condition B (X)) {do something with X}

这些链条可以有你想要的深度。Rete algorithm及其变体允许高效地处理大型规则集。

规则引擎解决的问题是将规则集的维护与应用程序分开-规则可以重新配置,而不必重新构建应用程序。虽然(理论上)非技术分析师或中小型企业可以自己维护规则集,但在实践中,要避免在复杂的规则集上搬起石头砸自己的脚,需要一点技术智慧-如果没有大型规则集,规则引擎就有点没有意义。

规则引擎真正闪耀的地方是规则集较大且经常更改的地方,或者规则引擎内置到打包的应用程序中并用于配置应用程序以支持特定于客户的业务规则或工作流触发器的地方。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2457924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档