【问题标题】:Good practices to split class in maven modules在 Maven 模块中拆分类的良好做法
【发布时间】:2016-01-02 07:53:45
【问题描述】:

我目前正在尝试将一个 java 项目拆分为几个模块。出于维护和可重用性的目的,我认为这是一个好主意,因为我看到了类之间的不同依赖关系。

但是,关于拆分过程,我有两个问题。

  • 循环类引用:有时我的类之间有循环引用。我认为它是强耦合的,它们应该放在同一个模块中。这是一个不错的选择吗?
  • 垂直与水平分割:我不是很熟悉,但我读过一些关于此的文章。我不知道我应该如何分开。如果我有多个执行某项功能的类,是否需要将它们组合到一个模块中(例如:“数据库管理”)

谢谢!

【问题讨论】:

  • 你考虑过使用微服务吗?
  • 循环类引用是一个标识你的设计不ok...解耦...
  • @jpganz18:我真的不知道什么是微服务,虽然我读过一些关于它的东西。所以我没有考虑。
  • 我建议你,如果你有多余的模块使用并且它们以某种方式相互连接,阅读微服务,它可以帮助你很多。
  • @khmarbaise:我同意,我应该解耦这些代码部分。但是循环引用总是“坏”的事情吗?

标签: java class maven architecture


【解决方案1】:

循环类引用: Maven 不会让你有两个相互依赖的模块。那不会编译。在您可以解耦这些类之前,它们必须位于同一个模块中。

至于将项目拆分为模块, 分离应该是关于(惊喜)你的产品的模块化。模块将允许您根据环境部署项目的特定部分,而不是部署所有内容。例如,您可能有用于服务器端代码、客户端代码和公共代码的单独模块。客户端不需要服务器端逻辑,因此它不应该是它们部署的一部分。

【讨论】:

  • 谢谢,我期待这样的答案。您是否有一些指针/最佳实践来避免循环类引用?我正在尝试使用尽可能多的界面,但仍然有一些!
  • 本书代码完成,第 6 章,解释抽象数据类型、封装和信息隐藏,对于设计干净、良好的接口和类非常有帮助。
猜你喜欢
  • 1970-01-01
  • 2023-03-16
  • 2012-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多