java - DROOLS:根据 >、< 或 = 创建条件很容易,但是我们如何为人类可读的规则创建条件呢?

标签 java drools business-rules

我已经开始探索DROOLS执行引擎,所以对DROOLS没有太多了解。我发现在为以下业务规则创建规则时非常容易:

 "Event is large event if number of audience is greater than 1000"

流口水规则将是:

 rule "Large Event"
    when
        event: Event(audience>= 1000 )
    then
        event.setEventType("largeEvent");
  end 

其中 Event 是类和受众, eventType 是类的属性。 但我在创建规则时遇到了困难,该规则具有除 >、<、== 以外的条件。考虑以下示例:

 Bank verifies customer if customer submits document.

如果有人处理此类规则,请帮助我。是否有任何示例或文档可用于学习此类示例。

最佳答案

这是微不足道的。唯一的麻烦是你用奇怪的迂回方式问了一个简单的问题。

rule "Customer has submitted a document"
when
    $b: Bank()
    Customer( submitDocument )
then
    $b.setVerifiedCustomer( true );
end

注意:虽然这与您的评论相对应(为什么不编辑您的问题?),但这似乎相当愚蠢:如果只有一个客户,为什么要设置银行的属性提交的文件?

关于java - DROOLS:根据 >、< 或 = 创建条件很容易,但是我们如何为人类可读的规则创建条件呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46763883/

相关文章:

design-patterns - 应用程序设计——可修改的业务规则

php - PHP 中的约束编程

java - OpenNLP 在使用泰国模型时出错

java - HTML 页面作为 AJAX 响应?

java - 无法下载内容类型为 text/html 的文件

java - 从 OSGI bundle 访问 Drools Guvnor

java - 流口水议程组锁定 Activity 似乎对我不起作用

drools - 如何在drools中使用决策表实现小于和大于规则?

c# - 在具有 3 层架构的 ASP.NET MVC 应用程序中验证业务规则的更好方法是什么?

java - 如何在Java中生成音效?