我一直在学习MVP模式,并尝试使用WinForms编写测试应用程序。我很难找到一个解释得很好的示例来说明如何在我的表单/视图之间导航。例如,程序启动后,如果登录成功,我想显示一个登录对话框,然后进入主界面。目前,我的Main方法大致如下:
static void Main()
{
var loginView = Injector.Resolve<ILoginView>();
if (loginView.DoLogin() != LoginResult.OK) return;
var mainView = Injector.Resolve<IMainView>();
Application.Run(mainView); // won't work as mainView isn't a form
}
注入器对象只是一个IoC工具(目前使用的是StructureMap)的包装器。问题在于,我读到过不应该通过注入器手动创建实例,而应该通过构造函数注入来完成。
我已经做到了一定程度,但当涉及到导航时就无法想出一个优雅的方法。我想知道这里是否有人能够给我一些启示?我已经阅读了一些关于应用程序控制器的文章,但没有找到清晰的示例。
mainView
可能有一些方法来显示视图。 - techBeginner