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