Зачем использовать шаблон команды в GWT (или любом веб-приложении)?
Согласно этому видео здесь [@ 7:50] Google рекомендует использовать шаблон Command поверх своего API обработки запросов. Есть также полезный проект gwt-dispatch, который реализует этот шаблон.
Согласно документации gwt-dispatch мне нужно создать четыре класса для каждой команды:
- действие (например, команда)
- результат (например, ответ)
- обработчик действий
- модуль
Предположим, что мой сервисный API имеет 100 методов в 8 BSO, может кто-нибудь объяснить мне, почему я хочу создать почти 400 новых классов? Какую удивительность покупает эта модель?
1 ответ
Хорошая причина использовать шаблон команды - это когда вы хотите передать объект команды другим делегатам, поэтому вместо копирования всех аргументов проще просто передать объект команды. Это также полезно для функциональности отката gwt-dispatch (или для функций отмены / возврата, например, в UndoableOperations Eclipse).
Это помогает обеспечить несколько вариантов команд, используя различные конструкторы и подклассы команд.
Я бы не советовал всегда использовать шаблон, но вы не экономите столько, сколько думаете, когда не используете его: вам все равно часто будут нужны объекты результата - и возможно повторно использовать одни и те же возвращаемые объекты. В других случаях вы можете использовать один и тот же объект для команды и для результата.
Модуль может быть использован для нескольких команд.