视图管理和选择通常如何在桌面应用程序中完成?我知道 FrontController 是 Web 应用程序中的一种流行模式,但我觉得它不太适合桌面应用程序,因为选择页面比选择嵌套子视图更容易。
我的主应用程序视图是否需要了解所有子视图并根据应用程序事件决定要显示哪些视图?我会为子组件实现子 MVC/MVP 吗?
视图管理和选择通常如何在桌面应用程序中完成?我知道 FrontController 是 Web 应用程序中的一种流行模式,但我觉得它不太适合桌面应用程序,因为选择页面比选择嵌套子视图更容易。
我的主应用程序视图是否需要了解所有子视图并根据应用程序事件决定要显示哪些视图?我会为子组件实现子 MVC/MVP 吗?
在我一直在开发的 WinForm 应用程序中,我们将 MVP 用于单个视图(通常是 UserControls)。主窗体(通常是一些子窗体)利用可以显示用户控件的表面(在 CAB 中,这些被称为工作区,在我自己的应用程序中,我刚刚推出了自己的版本)。
工作区在运行时被添加到集合中。意见也是如此。因此,在您需要执行“显示”逻辑的任何地方,您都可以使用一行代码轻松完成,如下所示:
Workspaces[WorkspaceNames.MainWorkspace].Show(Views[ViewNames.EditEmployeeView]);