将控制器/模型//服务/持久性放入maven中的不同模块的任何好处?

时间:2017-08-16 06:25:50

标签: 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</module>
    <module>XX-services-common</module>
</modules>

我可以理解对XX服务的需求 - 但是我看不出将控制器/视图/服务分成不同模块的任何好处。控制器/视图/服务只是层,它们不会独立部署,为什么会有这种做法?

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

1 个答案:

答案 0 :(得分:1)

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

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