gpt4 book ai didi

Java - Maven - 在客户端和服务器端项目中重用实体层

转载 作者:行者123 更新时间:2023-11-30 06:45:38 25 4
gpt4 key购买 nike

我正在从事 Spring Boot、Hibernate、Thymeleaf 项目,我对实现最佳架构以重用我的实体层感到有点困惑。

我有 2 个 Maven 父项目,我想通过创建一个 ProjectEntity(在两个父项目中重用它)来实现下面的项目层次结构

  1. 项目API父类

    a) 项目实体

    b) 项目库

    c) 项目API

  2. 项目客户端UIParent

    a) 项目实体

    b) 项目客户端

问题是一个子项目不能有多个父项目。

现在,我可以选择只创建一个基础父项目,但问题是这听起来不对,因为我希望客户端和服务器端项目之间完全松散耦合。

在这种情况下你会建议我做什么?

您的意见很重要。谢谢:)

最佳答案

做出这种决定并没有真正的惯用规则。

就个人而言,我选择作为一个 Artifact 的父级,该项目表现出最强的自然所有权关系。

例如,如果 ProjectEntity 源代码设计为只能由 ProjectAPIParent 项目的开发人员修改并随其发布,则 ProjectAPIParent 应该是很可能是 ProjectEntity 模块的 Maven 父级(及其聚合器 pom)。并且 ProjectClientUIParent 应该使用 ProjectEntity 作为依赖项。

但是,如果您无法清楚地识别与此 Artifact 拥有此类关系的父项目,则您可能不应该将 ProjectEntity 设为它们中任何一个的子项目。
在这种情况下,使 ProjectEntity 成为这两个项目的依赖项更有意义。


作为旁注,无论您对父 pom 选择什么,您都可以在 ProjectAPIParent 的聚合器 pom.xml 中将 ProjectEntity 定义为 Maven 模块(不要与 Maven 子模块混淆) ProjectClientUIParent

关于Java - Maven - 在客户端和服务器端项目中重用实体层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48629984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com