Pregunta

Estoy tratando de mejorar el uso de patrones de estilo MVC / MVP con mis aplicaciones WinForm y estoy luchando con algo con lo que quizás alguien con más experiencia pueda ayudarme.

A continuación se muestra mi diseño básico del proyecto:
texto alternativo ??

La clase G2.cs maneja la ejecución de varios subprocesos e incluye un Start / Stop y otros métodos involucrados con esos subprocesos. Es mi " principal " clase, supongo. Contiene el bucle principal para mi aplicación también.

Mi GUI se compone de 3 formularios hasta ahora y un controlador asociado para cada uno. El MainForm tiene botones Start / Stop que necesitan llamar a métodos en mi clase G2 , así como posibles formularios futuros.

¿Cuál sería la forma correcta de pasar una referencia de mi clase G2 a todos los controladores de la vista que lo necesitan? ¿Debo pasar la referencia G2 a la Formulario cuando lo creo y el formulario a su vez lo pasa a mis Controladores o ... ¿no es una buena manera de manejar las cosas?

Además, ¿estoy en lo cierto en que es responsabilidad de las Vistas crear una instancia de su controlador y que "posee"? el controlador?

¿Fue útil?

Solución

Si G2 es la clase de programa principal, y existe solo en una instancia, usaría un patrón singleton en esta clase, no es necesario pasar referencias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top