Domanda

Sto cercando di migliorare con l'uso dei modelli di stile MVC / MVP con le mie app WinForm e sto lottando con qualcosa che forse qualcuno qui con più esperienza può aiutarmi.

Di seguito è riportato il layout di base del mio progetto:
alt text

La classe G2.cs gestisce l'esecuzione di vari thread e include Start / Stop e altri vari metodi coinvolti con quei thread. È il mio "principale" classe suppongo. Contiene anche il ciclo principale per la mia applicazione.

La mia GUI è composta da 3 moduli finora e un controller associato per ciascuno. Il MainForm ha i pulsanti Start / Stop che devono chiamare metodi sulla mia classe G2 e possibili moduli futuri.

Quale sarebbe il modo corretto di passare un riferimento della mia classe G2 a tutti i controller della vista che ne hanno bisogno? Devo passare il riferimento G2 al Modulo quando lo creo e il modulo a sua volta lo passa ai miei controller o ... non è un buon modo per gestire le cose?

Inoltre, ho ragione nel ritenere che sia responsabilità di Views creare un'istanza del suo controller e che "possiede" il controller?

È stato utile?

Soluzione

Se G2 è la classe principale del programma ed esiste solo in un'istanza, utilizzerei il modello singleton su questa classe - non è necessario passare riferimenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top