Microsoft Foundation Class Library
La Microsoft Foundation Class (MFC) est une bibliothèque de classes en C++ encapsulant l'API Win32 (écrite en C) de Windows. Sa première apparition date de 1992.
Elle offre également un framework de développement de type Document/Vue inspirée du motif de conception Modèle-Vue-Contrôleur (MVC).
Critiques
Ses détracteurs lui reprochent son manque d'abstraction de l'API Win32, ainsi que son manque d'encapsulation, tandis que ses partisans apprécient la possibilité d'accéder à la plus grande partie des fonctionnalités de cette API. Les MFC ont atteint leur maturité avec la version 7.0 de Visual Studio. Microsoft n'a pas arrêté la prise en charge des MFC malgré le passage de Win32/MFC vers .NET/CLR. Bien que .NET soit portable et facile d'accès, MFC reste plus abouti notamment pour Win32 kernel API, DirectX, STL, ATL, (pas ADO). Microsoft prend en charge la MFC par l'utilisation de wrapper.
Parmi les inconvénients de la MFC, on trouve :
- Documentation pléthorique, mais pas structurée
- Problème de gestion de l’Unicode
- Internationalisation dans le code (au lieu d'ĂŞtre une simple option Ă indiquer)
- Emploi de gabarits figés qui créent souvent les vues (document - vue)
- Utilisation de boucle d'événements (messages) et pas de callback /listener
- Surcouche orientée objet (pas objet) permettant d'accéder à l'API Windows qui est en C
- Utilisation exclusive de Visual Studio
- Utilisation sans API de la surcouche C++