¿Cómo debo pasar una referencia de un objeto a un controlador en MVC? -- winforms campo con model-view-controller campo con mvp camp Relacionados El problema

How should I pass a reference of an object to a controller in MVC?


0
vote

problema

Español

Estoy tratando de mejorar con el uso de patrones de estilo MVC / MVP con mis aplicaciones de WinForm y estoy luchando con algo que tal vez alguien aquí con más experiencia me pueda ayudar.

A continuación es mi diseño de proyecto básico:
alt texto

La clase G2.cs maneja el funcionamiento de varios hilos e incluye un inicio / parada y otros métodos involucrados con esos hilos. Es mi clase "principal" que supongo. Contiene el bucle principal para mi aplicación también.

Mi GUI se compone de 3 formas hasta ahora y un controlador asociado para cada uno. El MainForm tiene botones de inicio / parada que deben llamar a los métodos en mi clase G27 , así como posibles formas futuras.

¿Cuál sería la forma correcta de pasar una referencia de mi clase G2 a todos los controladores de la Visión que lo necesitan? ¿Necesito pasar la referencia MainForm8 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, ¿soy correcto en que es la responsabilidad de las opiniones de crear una instancia de su controlador y "posee" el controlador?

Original en ingles

I'm trying to get better at using MVC/MVP style patterns with my WinForm apps and I'm struggling with something that maybe someone here with more experience can help me with.

Below is my basic project layout:
alt text

The class G2.cs handles the running of various threads and includes a Start/Stop and other various methods involved with those threads. It is my "main" class I suppose. It contains the main loop for my application as well.

My GUI is composed of 3 forms so far and an associated controller for each. The MainForm has Start/Stop buttons that need to call methods on my G2 class as well as possible future forms.

What would be the correct way to pass a reference of my G2 class to all the view's controllers who need it? Do I need to pass the G2 reference to the Form when I create it and the form in-turn passes it to my Controllers or... is that not a good way to handle things?

Also, am I correct in that it is the Views responsibility to create an instance of it's controller and it "owns" the controller?

        

Lista de respuestas

1
 
vote
vote
La mejor respuesta
 

Si G2 es la clase principal del programa, y ​​existe solo en una instancia, usaría un patrón de Singleton en esta clase, sin necesidad de pasar referencias.

 

If G2 is main program class, and exists only in one instance, I would use singleton pattern on this class - no need to passing references.

 
 

Relacionados problema

0  ¿Cómo inyectar la actividad de GWT # comenzar con un widget específico?  ( How to inject gwt activitystart with a specific widget ) 
Tengo el siguiente contenedor principal: public class ParentContainer extends Composite { // Contains a bunch of TextButtons (RedButton, GreenButton, e...

6  GWT MVP con una mesa  ( Gwt mvp with a table ) 
Al trabajar con MVP en GWT, ¿cómo trabajaría con una mesa? Por ejemplo, si tuvo una tabla de usuarios, ¿su vista se parece a esto? public interface MyDispl...

0  Silverlight 2 y el patrón MVP  ( Silverlight 2 and the mvp pattern ) 
¿Alguna idea de cómo me pongo a MVP trabajando con Silverlight? ¿Cómo me consigo por el hecho de que no hay un evento de carga recaudado? Esta la visión que...

3  ¿Por qué la aplicación GWT no se muestra?  ( Why is gwt app not displaying ) 
Actualizar : Estoy a punto de agregar una recompensa a esta pregunta. Añadí el código fuente del proyecto completo a GitHub aquí: https://github.com/doct...

2  MVP: Comunicación presentadora-modelo  ( Mvp presenter model communication ) 
Tengo una pregunta de diseño sobre la comunicación entre el modelo y el presentador en el patrón de diseño de MVP, o con mayor precisión, su forma derivada de...

2190  ¿Qué son MVP y MVC y cuál es la diferencia?  ( What are mvp and mvc and what is the difference ) 
¿Quieres mejorar esta publicación? Proporcionar respuestas detalladas a esta pregunta, incluidas las citas y una explicación de por qué su respues...

5  ¿Cómo se maneja la coordinación de las vistas infantiles en MVP?  ( How is coordination of child views best handled in mvp ) 
Estoy intentando usar MVP en WinForms y estoy confundido sobre cómo manejar mejor la coordinación entre las vistas infantiles. Por ejemplo, tengo una vista ...

0  ¿Se llama la actividad de la actividad () cuando la pestaña cierra o se actualiza?  ( Does activity onstop get called when the tab closes or refreshes ) 
Pensé que vi a algún lugar que el método de actividad de la actividad de GWT () permitió que la aplicación reaccionara al cierre de la página. Sin embargo, en...

0  C # ¿Cómo usar el patrón de presentador de vista en una forma de uno a muchos?  ( C sharp how to use the view presenter pattern in a one to many form ) 
Estoy luchando sobre cómo implementar el patrón del presentador de visor modelo. La forma en que uso este patrón es el siguiente: creo una vista (= interfa...

3  Cómo exponer el widget de tabla al presentador en el patrón MVP con GWT  ( How to expose table widget to presenter in mvp pattern with gwt ) 
En el patrón MVP El widget (la vista) expone sus widgets en forma de esta manera: @Override public HasClickHandlers getAddIssueClickHandlers() { ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos