Recentemente ho iniziato a lavorare su un'applicazione che supporta diversi dispositivi di misurazione.
Prima che l'utente inizi una misura, ne imposta i parametri.
In realtà, considerando tutti i tipi di misure ci sono oltre 50 parametri.
La difficoltà qui è che ogni impostazione dipende dagli altri per:
- Essere disponibile
- Elenco dei valori disponibili
- così via ..
Inoltre, alcune impostazioni di misurazione dipendono dai risultati e dalle impostazioni precedenti della misura.
Per farla breve: abbiamo un sacco di cose che sono interconnesse.
Lo schema attuale è quello di convalidare tutto non appena viene modificato un valore. È costato molto (in tempo) e aggiungeremo molti più parametri: si romperà.
Cerchiamo di implementare un pattern in cui utilizziamo ObservableValues e in cui tutti i parametri si registrano su tutti i valori da cui dipende.
È diventato difficile quando i parametri dipendono da un'altra misura di riferimento. Se il cambiamento di riferimento, dobbiamo smettere di ascoltare sul riferimento precedente e iniziare ad ascoltare sul nuovo riferimento.
Etc ...
Un altro problema è che quando lavoriamo sul nostro pattern e abbiamo più capacità (come la serializzazione), o quando abbiamo una classe helper (come factory), costruiamo file di grandi dimensioni con oltre 50+ parametri o funzioni.
C'è qualche altro buon modello o libreria per farlo?