Лучшая практика для модульного исполнения большого приложения Grails?

Приложение Grails я продолжаю работать, становится довольно большим, и было бы хорошо осуществить рефакторинг его в несколько модулей, так, чтобы мы не повторно развертывали все это каждый раз.

Что лучшая практика должна разделить приложение Grails в нескольких модулях? В особенности я хотел бы создать пакет доменных классов + соответствующие сервисы и использовать его в приложении как модуль. Действительно ли это возможно? Действительно ли возможно сделать это с плагинами?

8
задан cdeszaq 27 January 2012 в 18:27
поделиться

3 ответа

для этого нужны плагины. В случае разделения большого приложения на несколько модулей использование «встроенного плагина» чрезвычайно полезно. Просто добавьте

 grails.plugin.location."<plugin-name>" = "<path to plugin dir>" 

в файл вашего приложения grails-app / conf / BuildConfig.groovy . Таким образом, вам больше не нужно запускать package-plugin и install-plugin после каждой модификации внутри подключаемого модуля.

Подробнее об использовании подключаемых модулей см. Справочную документацию Grails или одну из доступных книг: «Полное руководство по Grails» или «Grails в действии». Оба абсолютно оправдывают свои затраты.

9
ответ дан 5 December 2019 в 12:56
поделиться

Плагины Grails - хороший механизм упаковки для повторного использования кода / дизайна / схемы в приложениях или для уточнения прав собственности на код несколькими авторами (что, вероятно, подходит для большого приложения), но я не Я не думаю, что они сэкономят вам много времени на развертывании - в конце концов, код все еще есть в приложении, и приложение все еще должно настраивать плагины и т. д.

Да, вы сэкономите немного времени из-за кеширования подключаемого модуля в целевом объекте развертывания, но вы заплатите за это дополнительными сложностями в коде, тестировании и управлении версиями самих подключаемых модулей.

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

ИМО, «лучшей практикой» для большого приложения Grails было бы подумать о разделении приложения на более мелкие приложения с обменом данными либо через базу данных, либо через кэш памяти, либо через какую-либо форму обмена сообщениями - много чище для «не иметь для повторного развертывания всего этого "и стремится к лучшей масштабируемости.Используйте плагины в каждом приложении, где вы хотите повторное использование кода / дизайна или изоляцию схемы, и у вас будет достаточно повторного использования, чтобы оправдать различные накладные расходы.

4
ответ дан 5 December 2019 в 12:56
поделиться

Согласен, плагины - это приемлемый способ сделать это. Это поможет управлять графиком зависимостей кода и разбить приложение на разделы, которые легче тестировать и понимать независимо. Однако плагины по-прежнему предназначены для объединения в одно приложение при развертывании. Я не уверен, какой шаблон вы ищете для развертывания.

0
ответ дан 5 December 2019 в 12:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: