IMO, при работе с GWT нет выхода из котельной плиты.Я думаю, что лучший вариант для работы с приложениями, интенсивно использующими данные, со сложными моделями данных - это RequestFactory.Вы можете попытаться уменьшить объем работы, написав некоторую структуру генерации кода.Для примера рассмотрим средства генерации кода *1003*, основанные на аннотациях GWTP , которые могут генерировать большое количество котельной, необходимой для работы с MVP.В частности, GWTP может генерировать классы Action и Result, которые инкапсулируют команду, которую вы хотите отправить на сервер, и результат, возвращаемый с сервера.
Аналогичное средство генерации кода для котельной, относящееся к RequestFactory, может значительно облегчить ваше бремя.
Например, у вас может быть аннотация для генерации прокси-серверов сущностей из классов сущностей.Вы поместите эту аннотацию в свой класс сущности вместе с @Entity
и сконфигурируете процессор APT для генерации связанного класса EntityProxy.Аналогичный подход может быть использован для генерации значений прокси.
Интерфейсы RequestFactory
и RequestContext
, относящиеся к вашему приложению, не являются стандартными, даже если они кажутся таковыми на первый взгляд.То же самое касается серверной реализации классов сущностей.
Locator
и ServiceLocator
не являются обязательными.Они понадобятся вам только в том случае, если вы не хотите реализовывать постоянный код в самой сущности.
Это оставляет нам код на стороне клиента.Вы можете посмотреть, как GWT Editor Framework работает с RequestFactory , чтобы получить идеи о том, как можно написать общий код на стороне клиента для работы с множеством различных интерфейсов RequestFactory.