2012-10-22 35 views
0

道歉,如果这个问题对于论坛来说过于笼统(主持人,如果是这样的话,请删除)。我应该继续MFC的桌面应用程序吗?

我开发了一个专用科学数据分析的桌面应用程序,我几年前开始使用MFC/C++。然而,这是一个正在进行的项目(新技术不断发展),并且这些年来它变得相当庞大和混乱,所以我意识到一个重大的重构可能已经过期了。

我的问题是,你是否会建议我坚持使用MFC作为基础,或切换到别的东西,如果是这样,什么?我非常致力于C++的分析引擎,因为我真的不想重新编写大量的数字运算代码,但我知道微软似乎正在倾销MFC(VS 2012甚至有为新的MFC项目放弃了内置的上下文相关帮助选项)。所以我想知道你是否会建议我切换到其他UI界面的东西?很明显,我宁愿坚持使用MFC,因为我没有混合语言编程的经验,但如果切换建议足够强大,我想我可以学习!

欢迎任何意见/建议!

+1

Qt非常流行,组织良好,并且具有Visual Studio集成(现在也在开源版本中)。 – kolen

回答

1

也许QT至少值得测试。您将拥有一个清晰的面向C++的API和一个可移植的框架。

3

如果你有编写和调试的代码,我会建议坚持下去,除非你有充分的理由不这样做。有关MFC的消亡的传闻不足以放弃已有的代码库,这听起来相当重要。或者至少他们是不够的我的书;你的旅费可能会改变。事实上,MFC不太可能会去任何地方,似乎还在继续前进;事实上,微软通过发布VS2010附带的库增加了许多新的MFC功能。

现在,上下文相关的帮助选项消失的原因并不是Microsoft正在消除MFC。看看这个网页连接:http://connect.microsoft.com/VisualStudio/feedback/details/767062/missing-context-sensitive-help-option-in-mfc-application-wizard-for-visual-studio-2012

1

你确定你的分析引擎可以很好地从MFC中分离出来吗?你没有使用CString或其他特定于MFC的对象吗?如果是这样,你可能需要坚持下去,而你并不孤单。有一些大公司无法摆脱MFC。这就是MS不能简单地转储MFC的原因之一。

MFC有其自身的弱点,可以成为一个混乱的代码容易的目标。但在很多情况下,你必须责怪没有遵循OOP设计原则SOLID的程序员,即使使用MFC也是如此。

如果你真的想摆脱MFC,你必须首先制定非MFC部分的重构和单元测试计划。一旦你感觉足够了,那么你就可以开始移植了。但预计这将是一个颠簸的旅程。