2012-01-26 3 views
0

Из некоторых уроков я не могу понять, что означает «Вид». Точнее - я не могу понять, сколько просмотров может отображаться в одно и то же время? В учебниках, которые я читал, одновременно отображается только один вид, и он всегда занимает весь экран. Например, если мне нужна всплывающая панель всплывающих окон, обычно открывается новый вид этой всплывающей панели? или лучше включить эту всплывающую панель в другое представление?Что такое «Просмотр» в шаблоне MVP?

ответ

1

Вы можете показать столько просмотров, сколько вам нужно, это не о шаблоне MVP. Из представлений перспективы MVP описывает отношение между Model-View-Presenter, но любой вид может иметь дочерние представления с собственными ведущими и связанной моделью.

Такой общий сценарий - имеющий основной вид, который разделяет собственное пространство/макет между множеством дочерних представлений, каждый из которых имеет собственный презентатор и использует собственную/общую модель (зависит от особенностей приложения и дизайна).

1

Это полностью зависит от реализации, которую вы используете.

Например, реализация ASP.NET MVC может содержать несколько частичных представлений, которые отображаются одновременно (хотя будет только один основной вид, то есть страница), в то время как настольное приложение может управлять несколькими открытыми окнами, каждое из которых имеет их собственный выделенный вид. Приложение для смартфонов, вероятно, имеет только один активный вид Открыть в любое время ...

1

В теории, я полагаю, что представление представляет собой представление моделей. Вы делаете некоторые преобразования данных и вычисления из модели, извлекаете данные из них и помещаете в хороший формат в представлениях.

На практике вид - это все, что видит пользователь. JFrame (Java), Activity (Android), Windows Forms являются примерами представлений.

1

Например, если мне нужно всплывающее окно всплывающих окон, обычно нужно сделать новый вид для этой всплывающей панели? или лучше включить эту всплывающую панель в другой вид?

Если вы рассматриваете всплывающее окно как часть входящего вызова, я бы рекомендовал вам сохранить представление в случае всплывающего окна.

P.S. Также концептуально вы можете рассматривать представление как дерево компонентов пользовательского интерфейса. В вашем случае, например, дерево может состоять из двух компонентов пользовательского интерфейса. Давайте сначала назовем ApplicationWindow и второй (который отображается во всплывающем окне) PatientEditor. PatientEditor является дочерним элементом ApplicationWindow, поэтому его можно показать в одном представлении (дерево компонентов пользовательского интерфейса).

Смежные вопросы