Просмотр управления и выбора в настольном приложении - PullRequest
1 голос
/ 07 марта 2009

Каким образом управление представлениями и их выбор обычно выполняются в настольном приложении? Я знаю, что FrontController является популярным шаблоном в веб-приложениях, но мне кажется, что он не очень подходит для настольных приложений, поскольку выбирать страницы проще, чем, например, выбирать вложенные дочерние представления.

Нужно ли моему основному представлению приложения знать обо всех дочерних представлениях и решать, какие представления отображать, основываясь на событиях приложения? Буду ли я реализовывать подпункт MVC / MVP для подкомпонентов?

1 Ответ

0 голосов
/ 07 марта 2009

В приложениях WinForm, над которыми я работал, мы используем MVP для отдельных представлений (обычно UserControls). Основная форма (и, как правило, некоторые вложенные формы) использует поверхности , которые могут отображать пользовательские элементы управления (в CAB они называются рабочими пространствами, а в моих собственных приложениях я только что выполнил свои собственные версии).

Рабочие пространства добавляются в коллекцию во время выполнения. Так же как и мнения. Таким образом, в любом месте, где вам нужно выполнить «показ» логики, вы можете легко сделать это с помощью строки кода, например:

Workspaces[WorkspaceNames.MainWorkspace].Show(Views[ViewNames.EditEmployeeView]);
...