Abbiamo un'applicazione legacy ASP.Net (scritta in c # alcuni anni fa) che consente a una fabbrica di produrre un certo numero di prodotti personalizzati. Attributi diversi come colore, lunghezza, larghezza, ecc. Sono comuni a tutti i tipi di prodotto, ma ogni tipo di prodotto contiene una serie di attributi specifici per tipo. L'applicazione ha attualmente una classe di prodotto di base, seguita da un numero di classi ciascuna per ciascun tipo.
Inoltre, ogni tipo ha il proprio set di moduli Web specifici per il tipo. la selezione tra i tipi è data da un'istruzione switch che indirizza l'esecuzione del codice in base al tipo di prodotto al modulo web pertinente. Inoltre, un singolo con circa 70 campi viene utilizzato per contenere tutti i prodotti fabbricati, con solo i campi relativi al tipo di prodotto popolato.
Ora stiamo cercando di ridefinire questa applicazione, in modo da poter aggiungere nuovi prodotti senza dover modificare il codice in modo estensivo. Inoltre, vorremmo non dover creare nuovi moduli Web per ogni nuovo tipo di prodotto, ma piuttosto avere i moduli creati dinamicamente (ci stiamo spostando ora su MVC). Vorremmo, se possibile, passare dallo sviluppo alla configurazione. Esiste un "approccio canonico" per questo tipo di compito?