如何处理遗留应用程序?

Hol*_*rwa 1 delphi

我继承了一个用C++(VS2003)MFC编写的遗留应用程序,该应用程序多年未更新.我在C++方面经验有限,主要是Delphi开发人员.该公司的所有其他应用程序都是用Delphi编写的.

展望未来,我看到了一些选择:

1)保持应用程序不变,成为C++ MFC开发人员.但我不喜欢在未来几年使用过时技术(MFC)的想法,试图跟上新的Windows版本和UI标准.它在某种程度上感觉像向后退了几步,我不认为这是最好的方式(?)

2)将应用程序转换为C++提供的任何现代UI技术,并成为C++开发人员,但至少使用现代技术.可能需要做很多工作,不确定.

3)在Delphi中从头开始重建应用程序,在那里我将更加高效地思考未来.现在这项工作要多得多,但以后可能会有所收获.

显然,我个人更喜欢3)但我想从您的经验中了解哪种方式最适合该产品.

这是一个长期的决定,我将不得不坚持下去,因此我不想冲向一个方向.

(我故意没有将这个问题标记为C++,试图在类似的情况下从Delphi开发人员那里得到答案)

编辑:

感谢大家的回答.
在得知可以使用MFC应用程序切换到C++ Builder之后,这似乎是最佳解决方案.它结合了对当前应用程序的最少量修改,可以使用VCL继续进行GUI改进.

EDIT2:

在一个应用程序中组合MFC和VCL是不可能的,因此C++ Builder不是一个选项.(感谢大卫指出这一点)

Eug*_*its 5

通常,一切都取决于应用程序逻辑的复杂程度以及应用程序的预计生命周期.如果它需要再维护20年,那么我将在Delphi中重写UI并将业务逻辑移动到C++ DLL中(用于开始并可能在Delphi中重写它).然后可以将应用程序以这种方式维护10年,并且如果需要可以相对容易地移植到其他平台(需要的工作量更少).