2017-08-16 44 views
1

我看到一对夫妇的Java项目以这种方式Maven的举办:任何好处把控制器/模型//服务/持久化到maven中的不同模块?

<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服务,共同的需要,但我看不到分离器/浏览/服务的任何好处进入不同的模块。 Controller/View/Service只是层,它们不会被独立部署,为什么会有这种做法?

或者实际上这是我们应该避免的不好的做法?

回答

0

这根本不是坏习惯。当你将这些模块分成不同的模块时,这些模块可以被多个其他模块使用,从而减少代码重复。

例如,XX-services-persistence此模块可用于将数据保存到数据库。所以当任何其他模块想要将数据保存到DB时,可以使用此模块。如果这个模块没有分开,那么其他模块将不得不实施持久化数据的方法,这会导致代码重复。

+0

我认为这是有道理的,如果每个模块都被构建成可导入/部署的jar/war文件。如果一个模块没有被设置为jar/war,即使持久层不在单独的模块中,其他代码/模块仍然可以调用持久层代码来执行持久化数据,对吧?我不明白为什么有代码重复。 – actan

相关问题