Question

J'essaie de mieux utiliser les modèles de style MVC / MVP avec mes applications WinForm et je suis aux prises avec quelque chose que quelqu'un ici peut-être plus expérimenté peut m'aider.

Ci-dessous, la structure de base de mon projet:
texte alternatif

La classe G2.cs gère l’exécution de divers threads et comprend un Start / Stop et d’autres méthodes associées à ces threads. C'est mon " main " classe je suppose. Il contient également la boucle principale de mon application.

Mon interface graphique est composée de 3 formulaires à ce jour et d’un contrôleur associé pour chacun. Le MainForm possède des boutons Démarrer / Arrêter qui doivent appeler des méthodes sur ma classe G2 ainsi que les futurs formulaires possibles.

Quel serait le bon moyen de transmettre une référence de ma classe G2 à tous les contrôleurs de la vue qui en ont besoin? Dois-je transmettre la référence G2 au Formulaire lorsque je le crée et que le formulaire le transmet à son tour à mes contrôleurs ou… n'est-ce pas une bonne façon de gérer les choses?

De plus, ai-je raison de dire qu'il est de la responsabilité de Views de créer une instance de son contrôleur et qu'il "possède" " le contrôleur?

Était-ce utile?

La solution

Si G2 est la classe de programme principale et n’existe que dans un cas, j’utiliserais le modèle singleton sur cette classe - nul besoin de passer des références.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top