代码之家  ›  专栏  ›  技术社区  ›  Julian Popov

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

  •  9
  • Julian Popov  · 技术社区  · 15 年前

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

    为什么呢?

    6 回复  |  直到 7 年前
        1
  •  14
  •   anon    15 年前

    可以说,没有人应该 曾经 使用了MFC(作为从MFC1.0开始就接触过它的人说话)。从Gupta的SQLWindows和Borland的Delphi到微软自己的VisualBasic,图形用户界面开发总是有更好的技术。现在我们有了.NET或者更像MFC的qt。

    MFC本身就是一系列黑客攻击,而且常常是故意滥用C++语言。当然,如果你有一个大型的MFC项目,你可能会陷入困境。

        2
  •  8
  •   Stefan    14 年前

    不,这不是真的。这样的语句总是错误的,因为对于每个项目和每个情况,都必须再次评估库和语言。仅仅因为没有好的理由而放弃MFC是错误的。

    尽管MFC已经存在多年了,很多人不想在新项目中使用它,但它仍然是取决于项目的最佳选择。是的,.net和它的ui-libs在大多数情况下是当今新项目的更好选择。但是如果你想要一个小的内存占用,非常快的启动时间,或者你的应用必须在非常有限的计算机上运行,MFC仍然是一个不错的选择。

    例如,上网本(或任何你想称之为上网本的东西)很流行,而且并非所有上网本都安装了.NET框架。而那些只有512MB-1GB内存的用户,您可能不希望您的应用程序使用这个框架。

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

        3
  •  6
  •   danjarvis    15 年前

    它只是一种较旧的技术:有一些较新的、更光亮的技术更容易使用…

        4
  •  4
  •   Mr. Boy    15 年前

    很难看到一个新的项目为什么会使用MFC/C++的一个很好的理由… 除非 这是开发团队知道的技术。一个在C++MFC中有经验的团队在一个新项目上跳转到.NET/WPF会损失很多时间。

    乔尔在回来的路上写了一篇好文章(我想),但我找不到。基本上,您需要一个业务原因来切换技术。”它又老又丑,我们想对WPF保持冷静“这不是商业理由。

        5
  •  3
  •   Ruddy    15 年前

    有几天,我觉得自己有点像保罗·班扬,因为我挥舞着我的MFC斧头,砍倒了很多树,结果却看到新尖牙的链锯出现了。每个人都说链锯更好,所以我学会了使用链锯,我开始砍树,然后 feller-buncher 出现了,每个人都说伐木聚堆更好,所以我学会了使用伐木聚堆,我砍倒了更多的树。

    我并不是说斧头比伐木收割机好,但如果你已经拥有了斧头,而且你已经知道如何使用斧头,你所要做的就是砍树……

    有时候你认识的魔鬼比你不认识的魔鬼强。

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

        6
  •  1
  •   MyDeveloperDay    7 年前

    如果你看 Project Centennial 从build 2015开始,它展示了Adobe在其Adobe产品中仍在使用MFC。他们正在使用VS2010中的MFC100从win32/com/mfc组件制作UWP应用程序,因此仍在使用mfc。

    直到微软提供了一个带有UI元素的C++ UI框架,桌面应用程序使用色带/工具栏/菜单/对话框等,那么MFC可能仍然保持流行,甚至有其奇特的位。