visual studio microsoft español descargar community c# sql-server rule-engine

c# - studio - ¿Cómo diseñar un motor de reglas?



visual studio installer (7)

  1. No puedo creer que implemente el suyo teniendo en cuenta que hay tantos disponibles comercialmente como de código abierto.

  2. Recomiendo echar un vistazo a InRule como una gran opción comercial que tiene un precio razonable, o NxBRE en el espacio de código abierto.

Se supone que debo crear un motor de reglas simple en C #. ¿Alguna pista sobre cómo puedo proceder ?. Es un motor de reglas minimalista, y usaría SQL Server como back-end. ¿Tenemos algún modelo general o patrones de diseño que generalmente se apliquen a motores de reglas? ¿Qué tipo de tecnologías .Net puedo usar para diseñar uno? Cualquier dirección sería útil. Gracias.


¿Qué tipo de motor de regla estás buscando? Para las prácticas de estilo? Si es así, ve a StyleCop . No es la respuesta, pero puede que ya exista algo para ti.



Si quiere escribir su implementación, algo como esto ...

[TestMethod] public void GreaterThanRule_WhenGreater_ResultsTrue() { // ARRANGE int threshold = 5; int actual = 10; // ACT var integerRule = new IntegerGreaterThanRule(); integerRule.Initialize(threshold, actual); var integerRuleEngine = new RuleEngine<int>(); integerRuleEngine.Add(integerRule); var result = integerRuleEngine.MatchAll(); // ASSERT Assert.IsTrue(result); }

... o esto...

[TestMethod] public void GreaterThanRule_WhenGreater_ResultsTrue() { // ARRANGE int threshold = 5; int actual = 10; // ACT var integerRule = new IntegerGreaterThanRule(threshold); var integerRuleEngine = new RuleEngine<int>(); integerRuleEngine.ActualValue = actual; integerRuleEngine.Add(integerRule); // Get the result var result = integerRuleEngine.MatchAll(); // ASSERT Assert.IsTrue(result); }

... entonces tal vez consulte mi motor de reglas simples aquí: http://www.duanewingett.info/2015/01/21/SimpleCRuleEnginePart1TheRuleEngine.aspx


Si tiene analistas de negocios para programar el motor de reglas de alto nivel, entonces elija uno de los motores de reglas antes mencionados o haga los suyos propios (incluidos los flujos de trabajo). De lo contrario, simplemente codifique la lógica de su negocio en código y si alguna vez necesita contratar analistas comerciales y rehacer el sistema, está en un buen lugar para estar.


Si usa .NET 3.0 o posterior, puede usar el Motor de reglas de Windows Workflow Foundation sin tener que usar Flujo de trabajo de forma inmediata.

He hecho esto en un proyecto, y puedes usar SQL o XML como back-end, y funciona muy bien. Puede usar el IDE que viene con los ejemplos de Workflow y ponerlo en sus propias aplicaciones. Es excelente.