#gwt #mvp
#gwt #mvp
Вопрос:
Заранее приношу извинения, поскольку это один из вопросов типа «как это работает». Я новичок в GWT MVP и пытаюсь создать проект, подобный этому здесь:
где в основном у меня есть меню виджетов / компонентов, которые я могу перетаскивать на панель, и это изменяет свойства, отображаемые на панели раскрытия свойств.
Я читал об официальной платформе GWT MVP, и они описали ее, похоже, что она ожидает, что каждое состояние приложения будет представлено совершенно новой страницей (представление с соответствующим местом).
Я не понимаю, как это будет работать с приложениями такого типа. То есть приложение, имеющее 1 базовый экран, который никогда полностью не меняется (т. Е. пользователь никогда не переходит на совершенно новый экран) с разделами, которые должны взаимодействовать друг с другом (т. Е. Удаление виджета загружает другой набор свойств).
Я уверен, что я что-то недопонимаю в MVP, поэтому, если кто-нибудь может просто дать несколько советов о том, как мне разобраться в этом, это было бы здорово.
Комментарии:
1. MVP сильно переоценен, он предлагается в качестве метода для «крупномасштабных приложений», это огромное количество шаблонов и слишком много уровней косвенности для чего угодно, кроме самых грандиозных приложений.
Ответ №1:
Нет ничего невозможного в использовании парадигмы MVP с несколькими экранными областями. Вы можете прочитать о возможном решении в этой статье. Это последний пост из серии из четырех частей. Я предлагаю также прочитать предыдущие сообщения от автора с теми же тегами.
Комментарии:
1. Это вместе с другим проектом, который я нашел здесь ( 95.110.143.4/layoutmvp/layoutmvp.html ) помогло объяснить, как это можно сделать. Мне потребовалось пару дней, чтобы запустить мой собственный проект, хотя я по ошибке использовал RootPanel вместо RootLayoutPanel (на самом деле не имеет отношения к MVP, но неприятная ошибка, если вы новичок в этом GWT). Еще одна вещь, которую я заметил, заключается в том, что вам нужно реализовать свои собственные специальные ActivityMappers, чтобы у вас мог быть раздел, который запускает событие в другом приложении, не останавливая его собственную активность.