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.¿Cómo diseñar un motor de reglas?
Respuesta
Si está utilizando .NET 3.0 o posterior, can use the Rules Engine of Windows Workflow Foundation sin tener que utilizar; fuimos de flujo de trabajo.
He hecho esto en un proyecto, y puede 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.
¿Qué tipo de motor de regla está buscando? Para las prácticas de estilo? Si es así, ve al StyleCop. No es la respuesta, pero puede que ya exista algo para ti.
yo no puedo creer que implementar su propio teniendo en cuenta hay muchos disponibles en el mercado y de código abierto.
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 le ha dado alguna indicación sobre el método? (es decir, si esto se complementa con el material del curso, ¿qué está aprendiendo actualmente?) Si se trata de un sistema bastante básico, puede encontrar el éxito en Deterministic Finite State Machine y Nondeterministic Finite State Machine
@jwarzech, no es para ningún curso. Es un motor de reglas de negocios, se supone que es un trabajo comercial, pero es bastante simple. Hay un par de clases genéricas (¿10 o más?) De reglas. Por cierto, una vez hice 'Theory of computation' en la escuela. Gracias por la respuesta de todos modos. –
Si tiene analistas comerciales para programar el alto nivel motor de reglas, entonces bien: elija uno de los motores de reglas antes mencionados o desarrolle el suyo propio (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.
También puede intentar http://rulesengine.codeplex.com/
Si desea escribir su puesta en práctica 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 eche un vistazo a mi motor de reglas simples aquí: http://www.duanewingett.info/2015/01/21/SimpleCRuleEnginePart1TheRuleEngine.aspx
- 1. ¿Cómo diseñar un motor de búsqueda personalizado?
- 2. Necesito un motor de reglas simple, creo?
- 3. Reglas Motor vs Sistema experto
- 4. ¿Buenas referencias/consejos para diseñar sistemas de reglas?
- 5. Motor de reglas: pros y contras
- 6. Motor de reglas en C o Python
- 7. Motor de reglas basado en C++
- 8. Métodos preferidos para interactuar con un motor de reglas
- 9. Cuándo se usa un motor de reglas de negocios
- 10. ¿Existe un motor flexible de reglas de promoción y descuento?
- 11. Razonamiento detrás del uso de un motor de reglas
- 12. cómo aprender Drools u otro motor de reglas rápido
- 13. Motor de reglas de código abierto Escrito en Java
- 14. Motor de reglas de mayor flexibilidad para .NET
- 15. C#: ¿El motor de reglas de gramática para inglés?
- 16. Motor de reglas de fuente abierta con una interfaz decente para escribir reglas
- 17. diseño del motor de reglas y ejemplos en C#
- 18. ¿Hay algún motor de reglas implementado en NodeJS/en Javascript?
- 19. ¿Alguna vez ha tenido éxito un sistema que incorporara un motor de reglas?
- 20. Cómo personalizar/diseñar un UIPopoverController
- 21. ¿Cómo diseñar un robot de rastreo?
- 22. Cómo funciona un motor RegEx
- 23. DDD en un sistema de reglas configurables
- 24. Diseñar un GroupBox
- 25. ¿Cómo construir un motor de "preguntas relacionadas"?
- 26. ¿Cómo restablecer un motor de número aleatorio?
- 27. ¿Cómo hacer un motor de plantilla php?
- 28. ¿Cómo puedo implementar un motor de recomendación?
- 29. ¿Cómo comienzas a diseñar un sistema grande?
- 30. ¿Cómo diseñar un widget en Orchard?
@Scott, estoy buscando desarrollar un motor de reglas de negocios con C#. Como inRule o algo así, pero muy simple. Y estoy buscando patrones o cualquier modelo, en base al cual puedo crear mi motor de reglas. –