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

时间:2008-11-22 08:21:07

标签: winforms model-view-controller mvp

我正在尝试使用我的WinForm应用程序更好地使用MVC / MVP样式模式,并且我正在努力寻找可能有更多经验的人可以帮助我的东西。

以下是我的基本项目布局:
alt text

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

我的GUI目前由3种形式组成,每种形式都有一个相关的控制器。 MainForm有“开始/停止”按钮,需要调用我G2课程的方法以及未来可能的表格。

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

另外,我是否正确,因为视图有责任创建它的控制器实例并且它“拥有”控制器?

1 个答案:

答案 0 :(得分:1)

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