问题标签 [rule-engine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
10 回答
23960 浏览

language-agnostic - 我应该使用什么规则引擎?

有哪些最好或最受欢迎的规则引擎?我还没有确定编程语言,所以告诉我规则引擎和它支持的编程语言。

0 投票
4 回答
8371 浏览

.net - Open source rules engine with decent interface for writing rules

I'm trying to locate an open source business rules engine that has a decent interface for building the rules.

OR at least one that works well on the .Net platform and has been updated sometime in the past 12 months.

Thanks,

0 投票
7 回答
21936 浏览

c# - 基于 c# 的规则语言的示例?

你能提供一个用 C# 编写的规则定义语言的好例子吗?
Java 家伙有JESS,C# 有什么好处吗?

0 投票
7 回答
31579 浏览

c# - 如何设计规则引擎?

我应该在 C# 中创建一个简单的规则引擎。关于我如何继续进行的任何线索?它是一个简约的规则引擎,并将使用 SQL 服务器作为后端。我们是否有任何普遍适用于规则引擎的通用蓝图或设计模式?我可以使用哪种 .Net 技术来设计一种?任何方向都会有所帮助。谢谢。

0 投票
11 回答
3567 浏览

rule-engine - 包含规则引擎的系统是否曾经真正成功过?

我们的系统(外来商品衍生品交易捕获和风险管理)即将重新开发。我听到的一个建议是,将合并一个规则引擎,以使最终用户(商品交易者,相当复杂)更容易对业务逻辑进行某些更改。

我对规则引擎有点怀疑。我的敏捷者想知道它们是否只是流程问题的技术解决方案……即。我们的开发人员需要很长时间才能响应业务的变化需求。该问题的解决方案应该是更协作的开发方法、更好的测试覆盖率、更敏捷的实践。

了解规则引擎真正带来好处的情况(尤其是在交易环境中)肯定会有所帮助。

0 投票
15 回答
49418 浏览

c# - 在 .NET 中寻找简单的规则引擎库

有谁知道一个好的 .NET 库规则库(最好是开源的)?我需要一些可以做嵌套逻辑表达式的东西,例如,(A AND B) AND (B OR C OR D)。我需要比较对象属性,例如 A.P1 和 B.P1。(理想情况下,我可以比较任何属性——A.P1 和 B.P2)。

它应该将规则存储在数据库中(我有很多简单的可配置逻辑)。它应该有一个规则创建/管理 API。管理工具必须检查实例以确定哪些属性可用以及存在哪些约束。

谢谢!


哦,还有一件事。作为规则引擎,我需要包含操作(命令)的概念。这些是表达式返回时执行的内容:

所以我认为一个规则是这样的:

0 投票
4 回答
2298 浏览

c# - 布尔逻辑规则评估器

我基本上有一个显示的调查,人们回答问题很像测试,并且有不同的路径,到目前为止这很容易,但我想让它更加动态,这样我就可以有一个通用规则用于所有路径的测试,以使评估器更易于使用,目前我只允许 AND,每个 OR 本质上成为集合中的另一个规则,

QuestionID,然后我形成一堆像这样的AND规则

p>

这条规则 1 说,如果问题 123 和 124 回答正确,而问题 127、128 回答错误,则通过。OR(规则 2)是如果 123 和 125 为真而 127 为假,它们也通过了。如果有很多组合,这会变得乏味,所以我想在逻辑中实现 OR,我只是不确定解决这个问题的最佳方法是什么。

我认为规则引擎太复杂了,必须有更简单的方法,也许像在 LINQ 中那样构建一个图,然后评估它们是否通过,

谢谢!

--不是compsci专业。

0 投票
12 回答
40237 浏览

rule-engine - 规则引擎 - 优点和缺点

我正在审核一个使用所谓的规则引擎的项目。简而言之,这是一种从应用程序代码中外部化业务逻辑的方法。

这个概念对我来说是全新的,我对此持怀疑态度。在过去几年听到人们谈论贫血域模型后,我质疑规则引擎方法。对我来说,它们似乎是削弱域模型的好方法。例如说我正在做一个与规则引擎交互的java webapp。然后我决定我想要一个基于相同域的 Android 应用程序。除非我希望 Android 应用程序也与规则引擎交互,否则我将不得不错过已经编写的任何业务逻辑。

由于我还没有任何经验,只是好奇,我有兴趣了解使用规则引擎的利弊?我能想到的唯一优点是您不需要重建整个应用程序只是为了更改一些业务规则(但实际上,有多少应用程序真的有这么多的更改?)。但是使用规则引擎来解决这个问题对我来说听起来就像在猎枪伤口上贴创可贴一样。

更新 - 自从写了这篇文章之后,这位大神 Martin Fowler 在博客上写了一篇关于使用规则引擎的文章

0 投票
1 回答
369 浏览

nlp - 谁能给我指出一个很好的“英语”打印规则的例子

我有一个用户使用规则引擎构建的等价物。但是在显示规则列表时,我希望能够将每个规则“漂亮地打印”成看起来不错的东西**。在内部,当表示为字符串时,它们看起来像 s 表达式,所以想象一下:

任何人都可以指出一个以可读方式很好地显示规则的程序吗?

** 也需要本地化,但我想我们会把它留作额外的功劳。

0 投票
3 回答
933 浏览

php - 可扩展的基于规则的访问模式

我使用一些 PHP 逻辑控制对我的一些静态 Web 资源的访问。因为通过网络服务器的基于目录的授权不适合或不容易实现。

事物的组合决定了访问是被授予还是被拒绝。而且这些规则会不时改变。

一开始它是一个简单的正则表达式路径匹配,以及一个会话变量的检查。现在更复杂了,因为涉及到更多变量。

我想知道如何进行重构,以便快速轻松地更改规则。当它是一个简单的“如果这个和这个,然后交付,否则 403”。直接用 PHP 就可以了。现在条件更加复杂,并且有几个嵌套级别,每个嵌套都有共同但略有不同的条件。这一切都很容易重构,但它不是最直观和最容易更新的。

我在想两件事之一。

  1. 为每个顶级条件建立类,并使用策略工厂来选择正确的授权。从包含公共位的基类中派生它们,并重载任何必要的东西。我认为当某些条件发生变化时,这仍然容易出现一些混乱。

  2. 制作一个简单的引擎来迭代一个 2d 有序规则数组,类似于防火墙规则。就像是:<allow|deny>, <auth_group>, <path_regex>, <other vars>

我还没有完全考虑过这一点,但它似乎更容易更新,也更容易作为人类阅读。

你会怎么做?我可以为此使用已建立的模式或库吗?

前段时间我在另一个应用程序中遇到了类似的问题。我想要一种基于多个条件级别将规则和结果链接在一起的简单更新方式。这并不像那个应用程序那么复杂,但我很想听听人们用来解决这类问题的模式。