首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么要细分为内部项目的maven-module?

为什么要细分为内部项目的maven-module?
EN

Stack Overflow用户
提问于 2008-12-16 17:58:08
回答 1查看 484关注 0票数 3

在我们的项目中,我们对maven模块的粒度进行了持续的讨论。我们已经达成共识,框架(如spring)和内部应用程序的需求可能存在差异,这些应用程序总是整体部署的。

我们还同意,将适配器的实现细节隐藏在单独的API模块后面是非常明智的,这样实现类就不会流入主实现的类路径中。但这就是我们要做的。这是一个web项目,所以我们有像"web","core“和"adapter(s)”这样的模块。我们有多个后端,但我们不需要可插入性。

在maven中,你使用什么标准来进行模块化?您为web项目制作了哪些模块?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2008-12-16 18:42:31

在我看来,项目部门应该是非常细粒度的,即使是“只有一个webapp”。

我将为数据访问层接口和实现、业务层接口和实现以及webapp本身创建单独的项目。我还会创建至少一个"commons“项目,用于包含与多个其他项目相关的代码。但这只是个开始。我会毫不犹豫地为相关的实用程序类提取commons-util项目,而不考虑正在开发的应用程序(字符串、日期、反射等)。在进行测试时,我还会为有用的实用程序创建一个项目(commons-test)。这就是下一步... ;)

如果我编写了与hibernate相关的一般有用的代码,我会将其放在hibernate-utils项目中。有用的Spring工具可以放在spring-utils项目中,等等。当这样做时,许多项目将只包含一个或几个包,这些包通常会包含几个类。

我这样做的理由是,它可以帮助我思考我写的代码。这是真正的业务逻辑,还是通用的字符串操作、日期操作、Hibernate特定逻辑等?我的层变得更干净了,包和项目之间的循环依赖变得更难了(我们不想要这些)。此外,在其他项目中重用代码变得更加容易。总会有其他的项目...

我还发现,对于新的开发人员来说,更容易掌握这种结构,因为项目变得更小,更容易管理;当您觉得不必理解所有事情时,开始编码也更容易。

作为细粒度方法的最后一个优点,构建时间减少了,因为您不必每次都构建所有内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/372119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档