Para una aplicación empresarial grande, todos saben que poder adaptarse al cambio es uno de los aspectos más importantes del diseño. Utilizo un enfoque basado en reglas la mayor parte del tiempo para lidiar con la lógica comercial cambiante, con cada regla almacenada en una base de datos. Esto permite realizar cambios fáciles sin sumergirse en detalles desagradables. Ahora, dado que C # no puede evaluar ("foo (bar);") esto se logra utilizando cadenas formateadas almacenadas en filas que luego se procesan en JavaScript en tiempo de ejecución. Esto funciona bien, sin embargo, es menos que elegante, y no sería lo más agradable para que nadie más lo tome una vez que se convierta en legado.
¿Hay una solución más elegante para esto? Cuando entras en miles de reglas que cambian con bastante frecuencia, se convierte en un verdadero oso, pero esto no puede ser un problema tan poco común que alguien no haya pensado en una mejor manera de hacerlo. ¿Alguna sugerencia? ¿Es este método actual defendible? Cuales son las alternativas?
Editar: solo para aclarar, esta es una aplicación empresarial grande, por lo que no importa qué solución funcione, habrá muchas personas que mantendrán constantemente sus reglas y datos (alrededor de 10). Además, los datos cambian con la frecuencia suficiente como para decir que algún tipo de sistema de servidor centralizado es básicamente imprescindible.