Problema:
- App Winform per la manutenzione di diversi tipi di dispositivi (circa 10 tipi).
- Alcuni dispositivi hanno più impostazioni simili (o le stesse) delle altre.
- Ogni dispositivo potrebbe anche avere versioni software e hardware che potrebbero modificare il numero di impostazioni.
- Ogni dispositivo ha un grande numero di impostazioni diviso in pagine (schede) e tali impostazioni potrebbero avere diversa natura (bool, int, float, string, ...).
Domanda:
La mia domanda è come risolverlo a livello di progettazione (come creare oggetti e anche GUI). Esistono alcuni modelli o best practice per app come questa?
Ad esempio, potrei creare la GUI separatamente per ogni tipo di dispositivo, ma alcuni di essi hanno gli stessi "blocchi" di impostazioni, quindi dovrebbe essere meglio creare UserControl
per questo. Ma in questo "blocco" potrebbero esserci anche alcune variazioni in base alle versioni del software del dispositivo.
Modifica
Voglio spiegare più chiaramente, quale app mi piacerebbe creare e penso di aver trovato un'analogia abbastanza buona:
Immagina che sia un'app per l'impostazione della centralina per auto. Il meccanico può installare questa app sul laptop e selezionare il modello di auto dall'elenco dei modelli supportati e collegarsi a qualsiasi unità di controllo che desiderano e possono impostare tutto in quell'unità. Non importa se si tratta di Mercedes CLA 180, Fiat 500 o Mustang GT. Possono collegarsi ad esso e l'app mostrerà solo le impostazioni appropriate per l'auto specifica (e anche la versione del firmware specifica installata sull'unità collegata).