在 Maven 模块中拆分 class 的良好做法
Good practices to split class in maven modules
我目前正在尝试将一个 java 项目拆分成几个模块。出于维护和可重用性的目的,我想这是个好主意,因为我看到了 class.
之间的不同依赖关系
但是,关于拆分过程,我有两个问题。
- 循环class引用:有时我的class之间有循环引用。我假设它是强耦合的,它们应该放在同一个模块中。这是一个不错的选择吗?
- 垂直与水平分割:我不是很熟悉,但我读了一些关于它的文章。我不知道我应该如何进行分离。如果我有多个 classes 执行一项功能,是否需要将它们组合到一个模块中(例如:"database management")
谢谢!
循环class参考:
Maven 不会让你有两个相互依赖的模块。那不会编译。在您可以解耦那些 classes 之前,它们必须在同一个模块中。
至于将项目拆分为模块,
分离应该与产品的(令人惊讶的)模块化有关。模块将允许您根据环境部署项目的特定部分,而不是部署所有内容。例如,您可能有用于服务器端代码、客户端代码和公共代码的单独模块。客户端不需要服务器端逻辑,因此它不应该成为它们部署的一部分。
我目前正在尝试将一个 java 项目拆分成几个模块。出于维护和可重用性的目的,我想这是个好主意,因为我看到了 class.
之间的不同依赖关系但是,关于拆分过程,我有两个问题。
- 循环class引用:有时我的class之间有循环引用。我假设它是强耦合的,它们应该放在同一个模块中。这是一个不错的选择吗?
- 垂直与水平分割:我不是很熟悉,但我读了一些关于它的文章。我不知道我应该如何进行分离。如果我有多个 classes 执行一项功能,是否需要将它们组合到一个模块中(例如:"database management")
谢谢!
循环class参考: Maven 不会让你有两个相互依赖的模块。那不会编译。在您可以解耦那些 classes 之前,它们必须在同一个模块中。
至于将项目拆分为模块, 分离应该与产品的(令人惊讶的)模块化有关。模块将允许您根据环境部署项目的特定部分,而不是部署所有内容。例如,您可能有用于服务器端代码、客户端代码和公共代码的单独模块。客户端不需要服务器端逻辑,因此它不应该成为它们部署的一部分。