添加一个模块作为另一个模块的依赖项是一个好习惯吗?

时间:2020-12-18 23:14:58

标签: java maven

我正在为产品创建搜索引擎,但问题是我的 User 类位于另一个模块中,该模块仅用于用户信息和身份验证。我想在这个搜索模块中检索用户信息,复制 User 类不是一个好主意,因为如果我需要更改它,我需要在两个地方更改它。我看到您可以添加一个模块作为另一个模块的依赖项,但这是一个好习惯吗?或者还有其他更好的方法吗?

2 个答案:

答案 0 :(得分:4)

这确实是最佳实践 - 类和包应该分离为模块,并且需要使用来自另一个模块的类或接口的模块可以(并且应该!)依赖它。

答案 1 :(得分:3)

如果某些组件可以组合在一起,您应该分成不同的模块。

如果你能做到这一点,那么定义一个封装这组组件的模块被认为是最佳实践。然后,如果某个其他模块需要其中的一些组件,它只需导入封装了这些组件的模块。

考虑定义一个共享模块,您可以在其中放置 User 类或其他任何您想要的内容。但如果该模块也有共享组件,它会更有意义。

一些简单的模型类可以直接进入共享包,而无需为它们定义模块。