per i dialoghi di questo tipo. Lo definisco come una classe nidificata di FindFilesCommand. Se la finestra di dialogo di base viene usata tra molti comandi, la definisco in un modulo accessibile a quei comandi e ha il comando di configurare la finestra di dialogo di conseguenza.
Gli oggetti comando sono sufficienti per mostrare il modo in cui il dialogo interagisce con il resto del software. Nel mio software gli oggetti Command risiedono nelle loro librerie, quindi le finestre di dialogo sono nascoste dal resto del sistema.
Per fare qualsiasi cosa, l'entusiasmo è eccessivo secondo me. Inoltre, cerca di mantenerlo ai massimi livelli, spesso implicando la creazione di molte interfacce e metodi di registrazione aggiuntivi. È un sacco di codice per poco guadagno.
Come ogni struttura, la devozione servile ti condurrà in qualche strano vicolo. Hai bisogno di usare il giudizio per vedere se ci sono altre tecniche da usare quando ottieni un cattivo odore di codice. Anche a mio parere, le finestre di dialogo dovrebbero essere strettamente vincolate e definite accanto al comando che le usa. In questo modo, cinque anni dopo, posso tornare a quella sezione del codice e vedere tutto ciò che il comando ha a che fare.
Sempre nelle poche istanze in cui una finestra di dialogo è utile per più comandi, la definisco in un modulo comune a tutti. Tuttavia nel mio software forse 1 su 20 dialoghi è come questo. L'eccezione principale è la finestra di dialogo di apertura/salvataggio del file. Se una finestra di dialogo viene utilizzata da dozzine di comandi, passerò all'intero percorso di definizione di un'interfaccia, creando un modulo per implementare quell'interfaccia e registrare tale modulo.
Se la localizzazione per l'uso internazionale è importante per la tua applicazione, dovrai assicurarti di avere un account con questo schema poiché tutti i moduli non sono in un modulo.
fonte
2009-03-17 20:06:48
Ho risposto a una domanda molto simile in [questo post] (http://stackoverflow.com/a/15512972/385995). –