Come devo passare un riferimento di un oggetto a un controller in MVC?
-
10-07-2019 - |
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:
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?
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.