Questions tagged «rule-engine»

10
如何实施规则引擎?
我有一个存储以下内容的数据库表: 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") 由于对象的属性(例如“年龄”或“用户名”)与比较运算符“ great_than”和“ equal”一起存储在表中,我该怎么办呢? C#是一种静态类型的语言,因此不确定如何前进。
205 c#  dynamic  rule-engine 

10
什么时候不应该使用规则引擎?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 7年前关闭。 改善这个问题 对于使用规则引擎的优势,我有相当不错的清单,以及使用它们的一些原因,我需要列出不应该使用规则引擎的原因的清单。 到目前为止,我最好的是: 规则引擎并非真正旨在处理工作流或流程执行,也不是旨在设计规则的工作流引擎或流程管理工具。 还有其他重要原因为什么您不应该使用它们?
108 rule-engine 

12
规则引擎-利弊
我正在审核使用规则引擎的项目。简而言之,这是一种从应用程序代码外部化业务逻辑的方法。 这个概念对我来说是全新的,对此我持怀疑态度。听到人们谈论贫血领域模型后过去几年中的之后,我对规则引擎方法提出了质疑。在我看来,它们似乎是弱化域模型的好方法。例如,说我正在做一个Java Webapp,与规则引擎进行交互。然后,我决定要拥有一个基于相同域的Android应用。除非我也希望Android应用程序也能与Rule Engine交互,否则我将不得不错过任何已编写的业务逻辑。 因为我还没有与他们的任何经验,只是出于好奇,我很想知道使用规则引擎的优缺点?我能想到的唯一优点是,您无需为了更改某些业务规则而重新构建整个应用程序(但实际上,有多少应用程序确实具有许多更改?)。但是使用规则引擎来解决该问题对我来说听起来像是在band弹枪伤口上贴上创可贴。 更新-自从撰写本文以来,上帝本人马丁·福勒(Martin Fowler)就在博客中发表有关使用规则引擎的信息。

15
在.NET中寻找简单的规则引擎库
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 谁知道一个好的.NET库规则库(理想情况下是开源的)?我需要一些可以执行嵌套逻辑表达式的东西,例如(A AND B)AND(B OR C OR D)。我需要比较对象属性,例如A.P1和B.P1。(理想情况下,我可以比较任何属性-A.P1和B.P2)。 它应该将规则存储在数据库中(我有很多简单的可配置逻辑)。并且它应该具有规则创建/管理API。管理工具将必须检查实例以确定哪些属性可用以及存在哪些约束。 谢谢! 哦,还有一件事。作为规则引擎,我需要包括“动作(命令)”的概念。这些是表达式返回时执行的内容: If (expression.Evaluation) { actions.Execute(); } 因此,我将规则视为: class Rule { Expression Exp; Actions[] Actions; Run() { if(Exp.Evaluate()) { foreach(action in Actions) { action.Execute(); } } } }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.