Codice di refactoring per separare le preoccupazioni [chiuso]

2

Durante la programmazione di un oggetto che rappresenta una GUI, la classe è un mix di codice delle seguenti sezioni:

  1. Overrides di super GUI, per la personalizzazione del comportamento
  2. Implementazioni di contratti di interfaccia, per parlare / ascoltare altri oggetti della GUI
  3. Metodi di gestione degli eventi locali
  4. Metodi di crunch dei dati locali
  5. Codice per interrogare / aggiornare un database remoto e un fornitore di oggetti globali

Supponendo che tutto questo sia stipato in un file di classe, come lo divideresti in file separati o classi genitore-figlio in modo che tu possa delegarli a sviluppatori diversi con una dipendenza minima l'uno dall'altro?

    
posta S.D. 21.09.2012 - 13:11
fonte

1 risposta

3

Controlla Model-View-Presenter o Modello di presentazione modelli, o in effetti uno dei molti modelli di progettazione dell'interfaccia utente il cui esplicito scopo è separare la visualizzazione dalla logica.

Il concetto di base è che la vista, che è la pagina o lo schermo del modulo o qualsiasi altra cosa, gestisce solo l'interfaccia utente stessa - campi e pulsanti e così via. C'è un Presenter che esegue il crunch del numero, l'accesso al DB e così via, e qualsiasi azione dell'interfaccia utente (clic del pulsante, per esempio) viene mappata nella vista a una chiamata a un'azione sul Presenter, che esegue la logica. Ciò significa che l'interfaccia utente può essere sviluppata indipendentemente, di fronte a un finto Presenter di base. Nel frattempo, il Presenter può essere sviluppato in modo astratto, poiché espone semplicemente i comandi, piuttosto che aspettarsi clic sui pulsanti.

    
risposta data 21.09.2012 - 13:18
fonte

Leggi altre domande sui tag