Per una grande app aziendale, tutti sanno che essere in grado di adattarsi al cambiamento è uno degli aspetti più importanti del design. Io uso un approccio basato su regole un sacco di tempo per gestire la modifica della logica di business, con ogni regola memorizzata in un DB. Ciò consente di apportare semplici modifiche senza immergersi in dettagli sgradevoli. Ora, poiché C # non può Eval ("foo (bar);"), ciò si ottiene utilizzando stringhe formattate archiviate in righe che vengono quindi elaborate in JavaScript in fase di runtime. Funziona bene, tuttavia, è meno che elegante e non sarebbe il più piacevole per gli altri da riprendere una volta che diventa legacy.
C'è una soluzione più elegante a questo? Quando entri in gioco in migliaia di regole che cambiano abbastanza frequentemente diventa un vero orso, ma questo non può essere il problema raro che qualcuno non abbia pensato a un modo migliore per farlo. Eventuali suggerimenti? Questo metodo attuale è difendibile? Quali sono le alternative?
Modifica: giusto per chiarire, questa è una grande app aziendale, quindi non importa quale soluzione funzioni, ci sarà un sacco di persone che mantengono costantemente le sue regole e dati (circa 10). Inoltre, i dati cambiano abbastanza frequentemente per dire che una sorta di sistema server centralizzato è fondamentalmente un must.