1

情况如下:

前段时间,我创建了一个后端接口,用于在数据库中添加/修改/删除项目。它是作为一个单独的项目创建的,我们仍在使用该代码的特定实例。我将其称为“版本 1”。

完成后不久,我复制了代码并将其集成到一个更大的项目中。我将原始项目数据库中使用的所有数据库表复制到该项目已经使用的数据库中。我还必须在这里复制前端,但我关心的是后端。这个接口的要求(我称之为“版本 2”)有点复杂,所以我不得不继续努力,并对数据库表进行一些修改。

它本质上是同一接口的 2 个分支版本。但是,自版本 2 的构思以来,版本 1 并没有受到太多关注。我在版本 2 中所做的一些更改不仅仅是新功能,而是与版本 1 相关的改进/错误修复。我应该在版本 1 上也进行这些更改,但不幸的是我没有。展望未来,我将需要对这两个版本进行改进,其中一些改进将适用于它们。

我真的很想以某种方式合并这两个接口,因为我很确定从长远来看它会减少我的工作量。坦率地说,我想放弃第 1 版,将第 2 版 UI 改编为第 1 版的数据库。

我的第一直觉是将所有内容传输到具有“版本”属性的用户控件。然后该版本将用于隐藏/显示与该版本相关或不相关的控件,并且还将用于确定要使用的数据库查询/存储过程。问题在于整个界面跨越 5 个页面。其中一些页面作为来自 5 个页面中的另一个页面的对话框打开。我想我可以简单地每个接口有一个 div,然后当 !IsPostBack 时,我可以根据查询字符串变量设置每个 div 的 Visible 属性。但是,这看起来会非常混乱,并且一页上会有很多代码和标记。我想或者我可以有 5 个用户控件,但这似乎是一个奇怪的设计。

还有其他可行的解决方案吗?

4

1 回答 1

0

我一直在维护 4 个界面几乎相同的产品:

  • 他们从一个项目开始
  • 被克隆和分支
  • 我一直在慢慢地重新合并它们

我最好的建议是尝试使用适用于两者的 UI,然后将两者都切换到使用它。

之后我有一个项目本地设置文件,它定义了哪些功能不应该存在于一个或另一个中。

于 2012-06-13T02:16:38.800 回答