Domanda su un approccio gestibile su come gestire le modifiche nell'interfaccia utente all'interno del codice sorgente

2

All'interno della nostra interfaccia utente c'è un'opzione per selezionare qualcosa da un menu a discesa. A seconda di cosa scegli all'interno di quel menu, il resto dei campi all'interno dell'interfaccia utente cambierà di conseguenza. Al momento lo gestiamo con clausole if / else che ritengo non siano un buon approccio. C'è un modello o una buona pratica per affrontare qualcosa del genere? Il software è scritto in Java. Ogni aiuto o idea è apprezzata.

    
posta cgew85 12.09.2016 - 13:37
fonte

2 risposte

4

Un approccio comune per evitare completamente il if/else in questo caso è utilizzare HashTable . Le chiavi sono i contenuti del menu a discesa ei valori sono POJO contenenti tutte le modifiche di configurazione dell'interfaccia utente associate a ciascun valore del menu a discesa. Si finisce con codice come:

SomePojo uiConfig = uiConfigTable.get(dropdownValue);
label1.text = uiConfig.label1Text;
checkBox1.enabled = uiConfig.checkBox1Enabled;
...

Non ho idea se il loro è un nome per questo modello.

    
risposta data 12.09.2016 - 13:52
fonte
3

Raccomando i metodi basati su tabella. Che è stato introdotto nel libro Codice completo .

ref dalla risposta StackOverflow: link

Table-driven methods are schemes that allow you to look up information in a table rather than using logic statements (i.e. case, if). In simple cases, it's quicker and easier to use logic statements, but as the logic chain becomes more complex, table-driven code is simpler than complicated logic, easier to modify and more efficient.

    
risposta data 12.09.2016 - 14:23
fonte