Какая польза от GWT ActivityManager и ActivityMappers?

В конце концов мне пришло в голову, что вы должны кодировать ActivityMapper разобрать / осмотреть Place подкласс, что его getActivity(Place) метод передан, и для возврата необходимо Activity представить пользователю.

Так что это заставило меня задуматься: есть смысл, что вам нужно много разных Place подклассы в вашем приложении, каждый из которых представляет отдельный закладочный URL/ состояние.

Но зачем приложению больше 1 ActivityManager а также Activity Mapper? Кажется, что нет никаких ограничений, налагаемых GWT, относительно которых Place привязан к которому Activity...

Я слышал некоторые стратегии, где каждый регион отображения получает свой собственный ActivityManager, Мне тоже кажется, что это только усложняет ваш проект, не принося никаких реальных выгод. Заранее спасибо!

2 ответа

Решение

Закодировав приложение с 10 такими областями отображения, я могу заверить вас, что это сделало наш проект намного менее сложным, чем то, что было бы с одним (мы могли бы удалить пару областей, а затем обработать без действий, но все же).

Это оказывается наиболее полезным, когда все области отображения не изменяются одновременно (как правило, ваш основной контент меняется чаще, чем периферийный или сторонний контент): допустим, вы редактируете очень сложный объект и разбиваете его на десятки экранов, и на экране есть вещи, которые всегда одинаковы (например, краткая информация о верхнем объекте для предоставления контекста пользователю).

Также замечательно специализировать свои действия (разделение интересов, одно беспокойство за действие). Например, в stackru (если бы это было приложение GWT) боковая панель справа может быть в том же действии, что и вопрос и его ответы, но если вы разделите вещи на отдельные действия, каждое из них станет проще и, следовательно, будет проще в обслуживании.

Наконец, специализированные виды деятельности могут быть легко реорганизованы. Например, основная деталь, которая разделена на 2 действия, может быть легко изменена с "мастер / потомок на одном экране" (так же, как большинство почтовых клиентов, которые отображают как список писем, так и выбранное сообщение) на "мастер-потомок и обратно на master" (как GMail по умолчанию, как и большинство мобильных приложений). И эта реорганизация заключается не в том, чтобы изменить способ навигации в приложении, а в том, чтобы повторно использовать одни и те же действия для разных переходов в зависимости от форм-фактора (а с помощью MVP вы также можете адаптировать представления, не меняя докладчиков).


Тем не менее, действительно есть много приложений, где это не нужно / не требуется. Это не значит, что это бесполезно.

Загляните в статью Томаса Бройера по этому вопросу http://blog.ltgt.net/gwt-21-activities-nesting-yagni/

Я попытался реализовать его идею в проекте github: https://github.com/ronanquillevere/GWT-Multi-Activities

Другие вопросы по тегам