Рекомендуемая структура проекта Play Framework

прямо сейчас мы обсуждаем два способа структурирования нашего проекта

  1. разложите проект на модули, и каждый модуль содержит модели, исключения, контроллер, который ему нужен. Таким образом, пользовательский модуль может содержать модель пользователя, все возможные случаи исключения пользователя для пользователя и конечную точку для работы с пользователем

  2. следует традиционному подходу, где у нас есть модели верхнего уровня, службы, контроллеры, исключения. Затем в сервисах будут sub пакеты и аналогично в исключениях.

структура 1:

app/
   /serviceA
       /models
          Foo.scala
       /controllers
       /exceptions
       serviceA.scala
   /serviceB
       /models
          Bar.scala
       /controllers
       /exceptions
       serviceB.scala

структура 2:

app/
   /controllers
   /models
       Foo.scala
       Bar.scala
   /exceptions
       /serviceA
       /serviceB
   /services
       /serviceA
       /serviceB

есть ли рекомендуемая структура проекта, которая содержит исключения, службы, модели?

1 ответов


рекомендуется "играть" способ структурировать ваш код такой:

app
  └ controllers
  └ models
  └ views
conf
  └ application.conf
  └ routes
modules
  └ admin
    └ conf/admin.routes
    └ app/controllers
    └ app/models
    └ app/views     
project
 └ build.properties
 └ Build.scala
 └ plugins.sbt

смотрите здесь:http://www.playframework.com/documentation/2.1.1/SBTSubProjects

В приведенном выше примере есть только один модуль под названием admin, но вы можете добавить в параллель с admin.

структурируйте свой код таким образом, чтобы вы могли воспользоваться встроенными функциями подпроекта Play. Например, вы можете изменить контекст программы на admin просто наберите:

project admin