2016-11-03 5 views
-1

Наша группа использовала для создания веб-приложений с использованием трикотажа. Обычно у нас было бы два модуля dao и api. Dao состоит из классов сущностей и интерфейсов dao/классов реализации, в то время как модуль Api имеет все остальные классы api. В последнее время мы переходим от Джерси к Spring MVC и Spring Boot. Поскольку мы используем Spring Data и JPA, кажется, нет необходимости иметь пакет dao для всех интерфейсов и реализаций. Вместо этого репозитории JPA заботятся обо всем доступе к данным. Сервисы строятся поверх слоя репозитория. Естественно, что материал репозитория JPA в том же модуле, что и сервисы, контроллер и т. Д.Должен ли я сделать многопользовательский веб-приложение несколько модулей

Какова наилучшая практика организации спокойного веб-проекта api? Должен ли я создать проект как приложение с двумя модулями так же, как то, что мы делали раньше, то есть все объекты в одном модуле (модели или дао), а остальные - в другой модуль, называемый api? Если это способ, я должен сохранить persistence.xml, который содержит все ORM-сопоставление для объектов внутри модуля сущности или модуля api?

ответ

1

Это в основном мое мнение о 1 против 2 модулей, но я не думаю, что есть один единственный ответ. Вероятно, это зависит от того, насколько велик веб-приложение. Является ли это одним API в той же самой базе кода/сборке, которая является базовым CRUD, или у вас есть много отдельных, но меньших API-интерфейсов, создающих больше среды для микросервиса. У нас было несколько крупных монолитных приложений, в которых мы разделили материал Dao на отдельные модули. Мы также разделили сторонние зависимости, такие как Google или Stripe, в модуль, даже отделенный от вещей Dao. Легче создать отдельную банку, если есть необходимость.

Независимо от того, что более важно, вы можете гарантировать, что у вас есть зависимость от одного пути. Значение API зависит от DAO, но не наоборот. Любопытно, что думают другие