Я пытаюсь ознакомиться с шаблоном проектирования "Места и действия" для разработки GWT, и до сих пор я думаю, что он имеет большой потенциал. Мне особенно нравится, как после того, как вы начнете думать о своем приложении с точки зрения "Места", история браузера практически просто приземляется на ваши колени практически без особых усилий.
Однако меня беспокоит только одно: все статьи и примеры кода, которые я видел до сих пор, глядят на один (насколько мне известно, крупный) аспект: "M" часть "MVP", т.е. Модель!
В обычной MVP-архитектуре, насколько я понимаю, Presenter содержит ссылку на модель и отвечает за ее обновление в соответствии с событиями пользовательского интерфейса или, в частности, обновление пользовательского интерфейса в соответствии с изменениями модели.
Теперь, во всех статьях/образцах для "P & A", действия, похоже, занимают место Presenter, но в отличие от "нормальных" докладчиков, они отбрасываются и (повторно) создаются всякий раз, когда приходит новое место, поэтому они не могут быть теми, кто хранит состояние клиента, или он будет потерян каждый раз. Мероприятия дешевы для создания, поэтому это не так много хлопот, но я бы не хотел создавать модель сложного приложения снова и снова.
Все образцы достаточно просты и не имеют большого количества состояний и поэтому просто игнорируют аспект модели, но где бы фактическое сложное приложение сохраняло свое состояние?