首先,我从 C# 回到(返回)Java,如果我的术语或哲学没有完全一致,请道歉。
背景是这样的:我们有越来越多的为 Web 编写的内部支持工具。他们在前端使用 HTML5/AJAX/其他流行语,后端使用 Java。这些工具利用一个轻量级的内部框架,因此它们可以共享一个用于安全和其他配置的管理界面。每个工具都是由一个单独的作者编写的,我希望这种趋势会继续下去,所以我想让未来的作者更容易在我们已经决定使用的第三方库上保持“标准化”比如DI、单元测试、ORM等。
我们的包命名目前如下所示:
- com.ourcompany.tools.framework
- com.ourcompany.tools.apps.app1name
- com.ourcompany.tools.apps.app2name
...等等。
所以这是我的问题:为了 Maven 设置、Eclipse 等,这些应用程序(和框架)中的每一个是否应该被视为一个单独的项目?
随着时间的推移,我们可能会有很多应用程序出现在这里,所以看起来分离会让依赖关系更清晰,让人们更容易地使用一个工具。另一方面,(1)可能在多个项目中“拆分”包结构的更深部分是一种代码异味,并且(2)将它们结合起来会使工具编写者更倾向于使用已经为另一个项目准备的第三方库工具。
FWIW,我最初的直觉是将它们分开。
你说什么,Java 大师?