MVP или мероприятия и места, для GWT 2.2 - PullRequest
9 голосов
/ 06 апреля 2011

Я недавно изучал GWT и MVP, и, честно говоря, я очень запутался. Мой проект будет включать в себя около 40 разных мест или просмотров вместе. При чтении нескольких учебных пособий, некоторые из них следуют за Model-View-Presenter, а другие используют «Действия» и «Места», все по теме MVP, GWT.

Я не уверен, что последовать за новым проектом MVP, GWT 2.2.

Большое спасибо, Alex

Ответы [ 6 ]

5 голосов
/ 07 апреля 2011

Алекс,

Действия и Места - это реализация Google инфраструктуры MVP.Существует много хорошо установленных дополнительных платформ MVP для GWT, которые включают в себя множество дополнительных функций, еще не включенных в GWT.Два, которые я бы порекомендовал:

Платформа GWT: http://code.google.com/p/gwt-platform/

MVP4G: http://code.google.com/p/mvp4g/

У них есть много дополнительных функций, позволяющих уменьшить количество шаблонного кода, который у вас естьписать для реализации решений.Они стоят пика, прежде чем выбрать Google & A *.

Cheers Gene

4 голосов
/ 06 апреля 2011

Деятельность и Места - это решение MVP, которое было реализовано в GWT 2.2.До этого MVP был только рекомендуемым подходом без официальной структуры, предоставленной Google.Вот почему вы запутались.

Я бы порекомендовал вам придерживаться Активности и Места, так как это официальное решение Google для MVP.

Надеюсь, это поможет.

3 голосов
/ 06 апреля 2011

Оказывается, что Activity играет роль докладчика в шаблоне проектирования MVP. Не все ваши докладчики должны быть Деятельностями, но если у вас есть Activity, вы можете думать о нем как об особом типе докладчика с четко определенным жизненным циклом, который используется для перехода из одного «места» в другое.

Так что это не выбор между MVP и "деятельностью и местами". Скорее, они все одной идеи. Новая структура мероприятий и мест - это просто уточнение.

2 голосов
/ 08 ноября 2011

Мероприятия и места не являются основой MVP! Google удаляет это "нарушение" в последующих документах. это просто каркас истории браузера (чтобы легко (де) сериализовать состояние приложения). но при реализации MVP и использовании A & P оказывается, что во многих случаях целесообразно объединить деятельность и докладчика.

в более общем случае одно действие может запустить n докладчиков.

2 голосов
/ 06 апреля 2011

Alex,

Деятельности и Места (а также ActivityMapper и другие) - это классы, которые группа GWT предоставила для формализации своих предыдущих рекомендаций шаблона MVP.Некоторое время назад я попробовал «сырые» рекомендации MVP и в настоящее время использую подход более высокого уровня, который обеспечивают вышеупомянутые классы.Конечно, легче использовать новые классы.В дополнение к хорошей абстракции MVP, вы получаете важный аспект управления навигацией по истории браузера в вашем приложении практически бесплатно.

Кажется, что MVP API здесь, чтобы остаться, так что если вы используете GWT 2.2.x Я бы также рекомендовал использовать новые классы MVP с самого начала вашего проекта.

0 голосов
/ 16 ноября 2011

Мы использовали мероприятия и места вместе с докладчиками в нашем дизайне.Мы также использовали MVP.

Установкой был view, viewImpl, а внутри интерфейса представления, если необходимо, был интерфейс презентатора, который также был объявлен.Интерфейс представления был проходом к классу реализации viewImpl.Действие перешло к viewImpl на основе его бизнес-логики, и в нашем случае viewImpl перешло к автономному составному виджету.

Если это было необходимо, составной виджет использовал презентатора, чтобы вернуться (еще один проход) к действию.Кстати, никакой бизнес-логики в представлении или viewImpl не было, это было только в действии.Это сработало хорошо!

...