2011-09-07 32 views
2

我听到这里很多MFC是过时的,并将Win32封装在糟糕的OOP中。建议使用MFC?

但微软发布了带有VS2010的MFC 10,并且它有最新的工具,例如功能区界面,所以应该用它来做简单的应用程序吗?

+0

这个问题已经被问过多次,并且最好在这里找到答案:如果你有移植的计划http://stackoverflow.com/questions/121184/is-there-still-a-case-for-mfc –

+0

到多平台环境(Apple,Linux,Unix等),甚至不要开始第一行代码!我推荐使用QT或Mono! – sergiol

回答

1

MFC被广泛认为是设计不佳,但它已被最近更新,似乎活着和良好。您可能会因为其他原因决定不使用它,但您不应因过时而拒绝它。

+7

考虑到C++语言的限制,特别是当时的Microsoft C++,我认为MFC团队做得非常好。如果微软现在再做一次,他们会不会使用MFC?可能不会。但它设计得不是很糟糕,*考虑到背景*。 –

+0

@roger这确实是一个公平点 –

1

如果你理解它,MFC看起来并不坏。否则,你会认为它设计得不好。

MFC没有过时:很多复杂的应用程序使用MFC,例如MS Office。你甚至可以在样本中找到如何制作办公室外观的应用程序。

对于简单的应用程序,你也可以使用ATL。

+0

您认为MS Office使用MFC的确切原因是什么?虽然雷蒙德陈[2007年不会有记录](http://blogs.msdn.com/b/oldnewthing/archive/2007/01/15/1471731.aspx),我可以*保证*你他们不要使用它。 – HostileFork

+0

也许你是对的。但是有一个SDK示例看起来与典型的ms office应用程序完全一样:c:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Samples \ 1033 \ VC2010Samples.zip \ C++ \ MFC \ Visual C++ 2008 Feature Pack \ MSOffice2007Demo –

0

我见过MFC应用程序明显更快,尤其是它们的加载速度比C#更快。我从C#听到的引人注目的观点是,与MFC相比,它的开发速度非常快。在性能方面,MFC胜出。

您可以调用您正在开发什么样的应用程序以及您需要哪些功能。不幸的是,这种趋势正在远离MFC,尽管我个人无法证明这一点。我知道几个计划将MFC应用程序迁移到.NET的公司。我的老朋友们,主要是它的开发时间更短,开发时间更短。

如果你是粗体,你仍然可以使用MFC启动新的应用程序并且比那些使用C#的人做得更好。如果你只是想顺应潮流而不是使用新的更简单的工具,并采取一些性能的一击。

总的来说,我绝对不会旁系MFC,因为它可能是唯一适合某些高性能应用程序。例如,我喜欢MFC中不存在的GUI线程,但如果使用得当,功能非常强大。我不知道它们是否存在于C#或更新的语言中,但我不想放弃它们。