GXT + GWT MVP в одном приложении?

Я работаю над этим проектом, в котором используется 100% код gxt. Теперь у нас есть еще один небольшой проект, который написан с использованием шаблона GWT MVP, и нам поручено объединить два проекта в один, поэтому в значительной степени мы будем выполнять обратные и обратные вызовы методов между кодом gxt и mvp (с действиями и местами). Я новичок в использовании шаблона mvp и немного запутался, действительно ли это хорошая идея объединить два. Другой (небольшой) проект также был gxt, пока он не был переписан с использованием шаблона mvp. Таким образом, у меня есть возможность либо вернуться к старому коду gxt, либо интегрировать новый шаблон mvp в основное приложение gxt, но, поскольку gxt не поддерживает концепцию действий / мест, непросто вызывать код mvp из gxt. передавать поддельные данные для имитации мест и т. д. при вызове кода mvp. Кроме того, есть проблемы в коде mvp при переходе из одного места в другое, например, когда есть временная задержка во время вызова rpc на стороне сервера, экран становится серого цвета (так как текущее представление удалено, а новое - нет) t еще не инициализирован) ожидает возврата rpc перед переходом к следующему месту.

Так что я был бы очень признателен за любые мнения экспертов в области MVP о том, как решить эту ситуацию ...


person yonikawa    schedule 02.04.2013    source источник
comment
Какую версию GXT вы используете? GXT 3 предлагает поддержку новых функций GWT (например, места и действия, RequestFactory, UiBinder и т. Д.). Также обратите внимание, что GWT Activities and Places не является архитектурой MVP, хотя ее можно использовать в приложении MVP.   -  person Andy King    schedule 03.04.2013


Ответы (1)


В презентаторе я придерживаюсь всего, что связано с манипулированием данными и тестируемым кодом, или чем-то еще, что делает представление тупым. Тем не менее, мне нравится, чтобы ведущий управлял представлением, но есть много серых областей, в которых я говорю: делайте то, что работает, и повторяйте. Лучший способ разобраться в этом - создать тест JUnit и протестировать логику презентатора, по крайней мере, это то, что мы делаем с GWTP.

На самом деле у A&P нет определенного способа построения строгого MVP, или, может быть, построение подхода MVP в A&P можно было бы сделать по-другому. Но я мог бы закрепить логику манипулирования данными в Place или Activity.

У меня есть здесь фабрика запросов, которая позволяет использовать источник данных. https://github.com/branflake2267/Archetypes/blob/master/archetypes/gwt-activitiesandplaces-requestfactory/src/main/java/org/gonevertical/project/client/application/home/HomePlace.java#L16

В моем последнем проекте, где я использую GXT, я использую GWTP для инфраструктуры MVP, которая отлично подходит для соблюдения строгого тестируемого шаблона MVP.

У меня есть объекты данных GXT внутри докладчика. Этот проект молодой, так что с размещением материала пока вознись. Но я думаю, что это может дать угол размещения объектов GXT, по крайней мере, у этого докладчика. https://github.com/branflake2267/Project-Manager/blob/master/Directory/src/org/gonevertical/pm/directory/client/application/widgets/archetype/list/ArchetypeListPresenter.java

person Brandon    schedule 03.04.2013