【问题标题】:what would be the purpose of Automatic Variable in ILOG Jrules?ILOG Jrules 中自动变量的目的是什么?
【发布时间】:2012-03-14 03:05:42
【问题描述】:

在规则工作室中,在描述 BOM 对象时,有一个名为“生成自动变量”的复选框,它的用途是什么?是全局变量吗?

【问题讨论】:

    标签: business-rules rule-engine ilog jrules


    【解决方案1】:

    自动变量可让您通过语言直接访问工作记忆对象。
    它基于您要使用的用途:)

    没有比其他更好的方法了。
    如果您想填充工作内存并让引擎处理操作,那么您可以使用自动变量
    如果您想控制一切,请使用规则变量(前置条件 - 以“定义”开头)

    这也取决于业务用户希望如何创建/编写规则

    医生说:
    因为工作记忆中的对象无法命名或 语言化,您必须将它们绑定到规则变量或自动变量 通过在规则工件的定义中定义一个模式来操作 他们
    – 在运行时,规则引擎循环遍历工作内存中的所有对象以 查找与规则变量定义匹配的对象
    – 规则引擎为每个匹配项创建一个单独的规则实例,这很有效 在导致创建特定规则实例的对象上
    • 您也可以简单地使用规则变量来增强规则的方式 写了
    – 例如,减少您的条件或您的行动的长度,当您 创建规则,或定义规则中使用的常量

    我多年来一直在使用 JRules,这完全取决于您要实现的设计。 作为一名 JRules 讲师,我会说:选择你喜欢的,但我个人不会使用它们。除了快速 POC。
    希望对你有帮助

    【讨论】:

      【解决方案2】:

      它更像是一个全局变量,可以在规则项目的任何地方访问。

      请参考the documentation,尤其是关于setup of automatic variables的部分

      【讨论】:

      • 为了更清楚,假设我有 Person 类和 Employer 类。我已将它们描述为人和雇主,但我将人设为自动变量。所以你的意思是说,我不能在我的规则中的任何地方访问“雇主”? ,我不这么认为。
      • 除非您将雇主 BOM 表述为输入/输出/输入输出参数或变量。在简单的 Java 术语中,我们可以说自动变量是 BOM 的单例实例。
      • 如果我将雇主设为 IN 参数并用语言表达,然后也将其设为自动变量会怎样。它有什么区别。我仍然不清楚用法。如果你能用一个例子简要解释一下吗?比如什么时候使用自动变量,场景。
      猜你喜欢
      • 2013-01-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多