1

我有一个业务逻辑(域服务/模型),我想在两种类型的项目之间共享。一个是 mvc web 应用程序,另一个是终端/控制台应用程序。

在 .NET 世界中,我创建了一个至少包含三个项目的解决方案(每个项目都将编译为一个 DLL 文件)。

  1. 服务(图书馆)
  2. Web(mvc 网络应用程序)
  3. 控制台(控制台应用程序)

然后我会参考ServicesfromWebConsoleprojects。这种方式WebConsole应用程序使用相同的Services层并且可以完全分开运行。

现在我想在 Scala 中做同样的工作。我正在寻找最好的模式和实践来做这样的工作。

此外,将模型Web应用程序移动到应用程序Services并在应用程序中使用这些模型是否是个好主意Console?实际上,我将模型类用作域模型和 mvc 模型。

注意:我不知道这是否重要,但我使用 Play 作为 Web 应用程序框架。

4

2 回答 2

0

您可以使用任何构建系统(如 SBT 或 Maven)在 Scala 中执行完全相同的操作。由于您使用的是 Play,因此自然选择 SBT。正如您所描述的,只需使用 SBT 构建定义创建三个项目。

我不具体了解 Play,但通常每个这样的项目都会生成 JAR(或其他 *AR)文件,例如,可以使用java命令运行或部署在某处。因此,您的“服务”和“控制台”可能是纯 JAR 文件。

于 2013-10-07T10:40:28.680 回答
0
  1. 创建子项目 A、B、C 并将所有业务逻辑移入 D。
  2. 使 A、B、C 依赖于 D 产生的 jar 工件。(仔细查看类路径依赖项部分)
  3. ???
  4. 利润!
于 2013-10-07T10:40:55.480 回答