“没有人应该再使用MFC”为什么?

时间:2010-01-22 14:28:38

标签: mfc windows

“没有人应该再使用MFC”这是真的吗

为什么会这样?

6 个答案:

答案 0 :(得分:14)

可以说,没有人应该永远使用过MFC(说话是因为自MFC 1.0以来已经接触过它的人)。 GUI开发总是有更好的技术,从Gupta的SQLWindows和Borland的Delphi到微软自己的Visual Basic。而现在我们有.NET或者更像MFC的Qt。

MFC本身就是一系列黑客攻击,而且经常故意滥用C ++语言。当然,如果你有一个很大的MFC项目,你可能会坚持下去。

答案 1 :(得分:8)

不,这不是真的。这样的陈述总是错误的,因为对于每个项目和每种情况,您都必须再次评估库和语言。简单地丢弃MFC没有任何理由是错误的。

尽管MFC已存在多年,并且很多人不想再用于新项目,但它仍然是取决于项目的最佳选择。是的,.NET和它的UI库在大多数情况下是今天新项目的更好选择。但是如果你想要一个小的内存占用,非常快的启动时间或你的应用程序必须在非常有限的计算机上运行,​​MFC仍然是一个不错的选择。

例如,上网本(或任何你想称之为的内容)很受欢迎,并不是所有的都安装了.NET框架。那些只有512MB-1GB RAM的人,你可能不希望你的应用程序使用该框架。

当然,除了可以使用的MFC之外,还有其他非.NET库。但是MFC仍然是一个不错的选择。

答案 2 :(得分:6)

这只是一项旧技术:有更新,更光亮的技术,更容易使用......

答案 3 :(得分:4)

有一个很好的理由为什么新项目会使用MFC / C ++ ...... 除非它是开发团队所知道的技术。拥有C ++和C ++经验的团队MFC在一个新项目中大量涌入.NET / WPF将会失去很多时间。

Joel在回来的路上写了一篇好文章(我想),但我找不到它。基本上,您需要业务原因来切换技术。 “这是古老而丑陋的,我们希望在WPF中保持冷静”不是商业原因。

答案 4 :(得分:3)

有些日子我感觉有点像Paul Bunyan,因为我正在摆动我的MFC斧头并砍下大量的树木,只是为了看到那些新的链锯出现。每个人都说电锯有多好,所以我学会使用电锯,然后开始切割那些树,然后feller-buncher出现,每个人都说feller-buncher好多了,所以我学会了使用feller-buncher,我减少了更多的树木。

我不是说AX比feller-buncher更好 - 它不是 - 但是如果你已经拥有斧头,你已经知道如何使用斧头了,你需要做的就是砍伐一棵树......

有时你认识的魔鬼比你不知道的魔鬼好。

FWIW - 几乎整个Windows SDK都基于宏;它几乎像#ifdef和#define本身就是一种完整的开发语言。

答案 5 :(得分:1)

如果您观看Build 2015中的Project Centennial演讲,则表明Adobe仍然在其Adobe产品中使用MFC。他们使用VS2010的mfc100从Win32 / COM / MFC组件制作UWP应用程序,因此仍在使用MFC。

在Microsoft提供带有UI元素的C ++ UI Framework之前,桌面应用程序使用了Ribbons / ToolBar / Menus / Dialog等,那么MFC可能仍然会受到欢迎,即使它的所有奇怪位也是如此。