La separazione dei dubbi si applica ai componenti della GUI?

1

In un'applicazione che ho sviluppato con C #, utilizzo un controllo del browser, dovrebbe navigare in alcuni siti Web, quindi vorrei estrarre alcuni contenuti dalle pagine web. Lo faccio manipolando DOM e rimuovendo alcuni nodi. Può essere fatto automaticamente o manualmente con l'aiuto dell'utente.

Poi ho due modalità, modalità di navigazione e modalità di estrazione . Penso che passare da una modalità all'altra e aggiornare i relativi menu e controlli e rispondere agli eventi ... abbia reso il mio programma complicato. Qual è il tuo consiglio per renderlo meno complicato?

Separation of Concerns si applica anche ai componenti della GUI?

    
posta Ahmad 06.03.2015 - 13:11
fonte

1 risposta

1

La separazione delle preoccupazioni è altrettanto importante nell'IU come altrove, se non di più. Tutto ciò che non coinvolge direttamente l'interazione dell'utente non appartiene all'interfaccia utente. È da qualche altra parte.

Considera cosa succede quando crei un'interfaccia utente con i soliti hook di eventi:

private void Form1_Load(object sender, EventArgs e)
{
    listView1.Items.Add(new ListViewItem("this is a test"));
}

Che cosa succede se metti tutta la tua logica aziendale nel tuo modulo? Finisci con una grande palla di fango, ecco cosa. Ecco perché mettiamo la logica di business in un altro modulo, classe o DLL.

Se questo è ciò che sta accadendo con la tua applicazione è una domanda aperta. Per come la vedo io, ci sono due possibili approcci. Puoi avere una singola interfaccia utente con due modalità o due interfacce utente diverse. Se le modalità sono radicalmente diverse, di solito preferisco due interfacce utente diverse, in quanto è possibile evitare tutte le istruzioni if in questo modo e il tuo progetto è generalmente più pulito. Puoi refactoring funzionalità comune tra le due UI in un modulo separato, classe o DLL.

    
risposta data 07.03.2015 - 18:21
fonte

Leggi altre domande sui tag