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

I am trying to make better use of MVC / MVP style patterns with my WinForm applications and I am afraid what might be with someone with more experience might help me.

Below is my main project:
alt text

The class G2.cs

handles the execution of various threads and includes Start / Stop and other various methods associated with those threads. I think this is my "main" class. It also contains the main loop for my application.

My GUI has three forms and a corresponding controller for each. The button MainForm

has Start / Stop buttons that should call methods in my class G2

, as well as possible future forms.

What would be the correct way to pass the reference of my G2 class to all view controllers that need it? Do I need to pass a link G2

to the form when I create it and the form in turn passes it to my controllers or ... is this not a good way to handle things?

Also, am I correcting that the responsibility for instantiating this controller and its controller "owner" is the responsibility of Views?

0


source to share


1 answer


If G2 is the main programming class and only exists in one instance, then I would use the singleton pattern in that class - no need to pass references.



+1


source







All Articles