Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Winforms 在MVC中,我应该如何将对象的引用传递给控制器?_Winforms_Model View Controller_Mvp - Fatal编程技术网

Winforms 在MVC中,我应该如何将对象的引用传递给控制器?

Winforms 在MVC中,我应该如何将对象的引用传递给控制器?,winforms,model-view-controller,mvp,Winforms,Model View Controller,Mvp,我正试图在WinForm应用程序中更好地使用MVC/MVP风格的模式,我正在努力解决一些问题,也许这里有经验的人可以帮助我解决这些问题 下面是我的基本项目布局: 类G2.cs处理各种线程的运行,包括启动/停止以及与这些线程相关的其他各种方法。我想这是我的“主要”课程。它还包含我的应用程序的主循环 到目前为止,我的GUI由3个表单和每个表单的关联控制器组成。MainForm有开始/停止按钮,需要调用我的G2类以及可能的未来表单上的方法 将我的G2类引用传递给所有需要它的视图控制器的正确方法是什么

我正试图在WinForm应用程序中更好地使用MVC/MVP风格的模式,我正在努力解决一些问题,也许这里有经验的人可以帮助我解决这些问题

下面是我的基本项目布局:

G2.cs
处理各种线程的运行,包括启动/停止以及与这些线程相关的其他各种方法。我想这是我的“主要”课程。它还包含我的应用程序的主循环

到目前为止,我的GUI由3个表单和每个表单的关联控制器组成。
MainForm
有开始/停止按钮,需要调用我的
G2
类以及可能的未来表单上的方法

将我的G2类引用传递给所有需要它的视图控制器的正确方法是什么?我是否需要在创建表单时将
G2
引用传递给表单,然后表单又将其传递给我的控制器或。。。这不是处理事情的好方法吗


另外,视图有责任创建其控制器的实例,并且它“拥有”控制器,这一点是否正确?

如果G2是主程序类,并且只存在于一个实例中,我将在此类上使用单例模式-无需传递引用