Tag: 规则引擎

.Net规则引擎

我正在从一个规则引擎中受益的项目。 我已经考虑过使用Windows工作stream引擎,但我想知道还有什么。 我的项目花费了大部分预算。 所以我需要build议,适度定价(在<$ 1,000的范围内)。 我看到了InRule ,但他们没有发布价格(我可以看到)。 所以我猜这是“如果你不得不问你买不起”的那种产品。 我看到这篇文章: 在.NET中寻找简单的规则引擎库 但是它很老,专注于开源。 那么,那里有没有适当的.Net规则引擎?

Javascript中的轻量级规则引擎

我正在寻找在Javascript中实现的轻量级规则引擎的build议。 这种实现的原因是使用一小套规则(小于20)build立一个非常轻量级但快速的基于浏览器的模拟。 模拟将需要六个参数,并运行规则并在浏览器中显示结果,而无需返回到服务器。 想象一个带有几个单选button,checkbox,文本框和滑块的UI来控制参数。 仿真将根据任何参数变化快速重新运行。

规则引擎 – 优缺点

我正在审计一个使用所谓的规则引擎的项目 。 简而言之,这是一种从应用程序代码中外化业务逻辑的方法。 这个概念对我来说是全新的,我对此很怀疑。 在听到过去几年人们谈论贫血域模型之后,我在质疑“规则引擎方法”。 对我来说,他们似乎是减弱域模型的好方法。 例如说,我正在做一个java webapp与一个规则引擎交互。 然后我决定我想有一个基于同一个域的Android应用程序。 除非我想要Android应用程序与规则引擎进行交互,否则我将不得不错过任何已经写入的业务逻辑。 由于我还没有任何经验,只是好奇,我有兴趣知道利弊在使用规则引擎? 我能想到的唯一的专家是,你不需要重build你的整个应用程序只是为了改变一些业务规则(但真的,有多less应用程序真的有这么多的变化?)。 但是用一个规则引擎来解决这个问题,对我来说就像是在一个霰弹枪伤口上贴上一个创可贴。 更新 – 自写这篇文章以来,上帝本人马丁·福勒(Martin Fowler)曾经发表过关于使用规则引擎的博客 。

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

有谁知道一个好的.NET库规则库(理想的开源)? 我需要一些可以嵌套逻辑expression式的东西,例如(A和B)和(B或C或D)。 我需要做对象属性的比较,例如A.P1和B.P1。 (理想情况下,我可以比较任何财产 – A.P1和B.P2)。 它应该将规则存储在数据库中(我有很多简单的可configuration逻辑)。 它应该有一个规则创build/pipe理API。 pipe理工具必须检查实例以确定哪些属性可用以及存在哪些约束。 谢谢! 哦,还有一件事。 作为规则引擎,我需要包含Actions(命令)的概念。 这些是expression式返回时执行的内容: 如果(expression.Evaluation){actions.Execute(); } 所以我看到一个规则是这样的: class Rule { Expression Exp; Actions[] Actions; Run() { if(Exp.Evaluate()) { foreach(action in Actions) { action.Execute() ; } } } }

什么时候不应该使用规则引擎?

我有一个相当不错的使用规则引擎的好处列表,以及使用它们的一些原因,我需要的是你不应该使用规则引擎 到目前为止,我所得到的最好的是: 规则引擎并不是真正意图处理工作stream或stream程执行,也不是旨在执行规则的工作stream引擎或stream程pipe理工具。 还有什么其他的原因,你不应该使用它们?

如何实现规则引擎?

我有一个数据库表,存储以下内容: RuleID objectProperty ComparisonOperator TargetValue 1 age 'greater_than' 15 2 username 'equal' 'some_name' 3 tags 'hasAtLeastOne' 'some_tag some_tag2' 现在说我有这些规则的集合: List<Rule> rules = db.GetRules(); 现在我也有一个用户的实例: User user = db.GetUser(….); 我将如何循环这些规则,并应用逻辑和执行比较等? if(user.age > 15) if(user.username == "some_name") 由于像'age'或'user_name'这样的对象的属性和比较操作符'great_than'和'equal'一起存储在表中,我怎么可能做到这一点呢? C#是一个静态types的语言,所以不知道如何前进。