现在我们正在讨论构建项目的两种方法
将项目分解为模块,每个模块包含所需的模型,异常和控制器。因此,用户模块可能包含用户模型,用户的所有可能的用户异常情况,以及用于处理用户的REST端点
遵循传统方法,我们拥有顶级模型,服务,控制器,例外。然后在服务中将有子包,类似于例外。
结构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
是否有推荐的项目结构,其中包含例外,服务,模型?
答案 0 :(得分:11)
构建代码的推荐“播放”方式如下:
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