2015-01-07 3 views
0

При создании нового веб-приложения с использованием spring-boot я задавался вопросом о философском вопросе: лучше всего иметь только один модуль maven (и, следовательно, один баннер) для серверной части приложение и статический веб-контент клиента (чтобы создать другую банку, может быть?), или лучше иметь один модуль maven для сервера, а другой для клиентской стороны?Должен ли я помещать клиент и сервер в одну банку

Другими словами, лучше иметь эту Maven архитектуру:

MyProject-parent 
    - MyProject 

или это?

MyProject-parent 
    - MyProject-server 
    - MyProject-html-client 
    - MyProject-mobile-client 
    - ... 

Как я хотел бы иметь браузер клиента и мобильный один, я бы соблазн сказать, что это хорошая идея, чтобы иметь отдельные модули. Однако, используя Spring-boot, можно создать жировую банку, т. Е. Банку, содержащую все остальные. Как следствие, рекомендуемая архитектура, я полагаю, только один модуль maven.

Итак, есть ли «лучшее» решение? Если да, можете ли вы дать мне аргументы?

ответ

0

Я предпочитаю несколько модулей подхода к по следующим причинам:

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

  • Это лучше для исправления ошибки или сделать новые функциональные возможности, так как вы можете сосредоточиться только на один модуль и запустить тест только для того.

  • Как вы используете Maven, он очень помогает в зависимости от зависимостей, вы можете построить все с одной командой maven и позаботиться о порядке сборки . Поэтому я не вижу никакого преимущества использования одного модуля для вашего футляра.
  • Возможно, вам придется выпустить MyProject-mobile-client без освобождения MyProject-html-клиент в будущем в случае, если вы планируете использовать . Используйте maven release.
+0

Это имеет смысл. Я просто задавался вопросом о 2 вещах: 1) Почему весенний ботинок не поощряет использование такого подхода (как вы можете сделать жирную банку, которую, как я полагаю, сложно построить с помощью нескольких модулей). 2) Если я решит перейти к традиционной архитектуре войны/уха, не возникли бы я трудности с тем, что HTML-клиент должен быть упакован в течение войны? –