Java 将控制器/模型//服务/持久性放在maven的不同模块中有什么好处?
我看到Maven以这种方式组织了几个Java项目:Java 将控制器/模型//服务/持久性放在maven的不同模块中有什么好处?,java,maven,module,architecture,structure,Java,Maven,Module,Architecture,Structure,我看到Maven以这种方式组织了几个Java项目: <modules> <module>XX-services-controller</module> <module>XX-services-persistence</module> <module>XX-services-service</module> <module>XX-services-model</mo
<modules>
<module>XX-services-controller</module>
<module>XX-services-persistence</module>
<module>XX-services-service</module>
<module>XX-services-model</module>
<module>XX-services-common</module>
</modules>
XX服务控制员
XX服务持久性
XX服务
XX服务模型
XX公共服务
我可以理解XX公共服务的需求,但我看不出将控制器/视图/服务分离到不同模块中有什么好处。控制器/视图/服务只是层,它们不会独立部署,为什么会有这样的做法
或者实际上这是我们应该避免的坏习惯?这根本不是坏习惯。当您像这样分离成不同的模块时,这些模块可以被多个其他模块使用,从而减少代码重复
例如,
XX服务持久化
此模块可用于将日期持久化到数据库。因此,当任何其他模块想要将数据持久化到DB时,可以使用该模块。如果这个模块没有分开,那么其他模块将必须实现持久化数据的方法,这将导致代码重复。我认为,如果每个模块都构建到一个可以导入/部署的jar/war文件中,这是有意义的。如果一个模块没有设置为构建到jar/war中,即使持久性层不在单独的模块中,其他代码/模块仍然可以调用持久性层代码来持久化数据,对吗?我不明白为什么会有代码重复。