0

我正在处理遗留项目。现在的情况要求将项目分成几部分。我应该遵循什么策略来完成这项任务。

描述:

遗留项目 (A) 是功能齐全的 Web 应用程序,具有几乎明确定义的层。但现在我需要将项目扩展到进一步增强。这个项目使用 maven 作为构建工具。但它仅用于依赖管理。(项目在 Eclipse 中导出为战争形式)。

新的增强需要我添加新的数据表、新的 UI(jsp、css、js 和图像)。

我应该采取什么策略来增强应用程序。

我提出的设计。

我打算创建两个新项目

项目B:本项目主要进行增强工程。将拥有所有层,如服务层、dao 层和 UI 层。并且本身就是一个 Web 应用程序。

项目 C :从项目-A 中提取一些通用模型和服务代码并创建此项目。该项目将作为两个项目的依赖项添加。

如果我这个方法没问题!然后我认为部署会有问题。这两个项目需要单独部署(目前使用的是tomcat)。但我必须将这两个项目部署为一场战争。所以,我需要有一个计划来更改 web.xml 条目以配置两个项目。这将带来一些更复杂的项目。

我的项目设计应该是什么?我的计划听起来不错。

4

3 回答 3

1

我会把你的开发作为同一个“项目”和部署单元的一部分,否则当没有真正的需求或架构需要时,你就会分开。

但是,您正在描述影响现有代码库的增强更改的​​困难。对于这个问题,我建议在您的源代码管理工具中创建一个分支并在该分支上执行您的增强开发。这使您可以在不影响实时代码库的情况下进行全面开发和测试(仍然可以应用错误修复等)。

完全测试后,您可以将分支合并回主代码库并执行最终回归测试,以确保完整应用程序在发布之前可以正常工作。

于 2010-03-21T16:47:17.857 回答
1

您概述的一般方法非常明智(隔离一个公共服务层 - 项目 C - 并在其之上构建 A 和 B)。我认为这是相当常规的。

我对项目 A 和 B 之间的具体关系感到困惑。更准确地说,为什么项目 A 和 B 必须单独部署,但又是同一个 .war 的一部分......?

于 2010-03-20T17:59:51.020 回答
0

哪个要求要求您将项目泄露出去?

如果遗留系统结构良好,您可以将新代码添加到遗留项目中。

如果您确实需要拆分,您可以构建一个“反腐败层”,新系统将使用该层与遗留系统中的功能进行对话。这将允许您完全避免在遗留系统中进行任何更改。

于 2010-03-21T10:46:56.153 回答