Microsoft Foundation Classes
aus Wikipedia, der freien Enzyklopädie
Die Microsoft Foundation Classes (MFC) sind eine Sammlung objektorientierter Klassenbibliotheken, die von Microsoft für die Programmierung von Anwendungen mit grafischen Benutzeroberflächen für Windows mit C++ entwickelt wurden. Microsoft führte die MFC 1992 mit dem hauseigenen C/C++-Compiler ein. Die MFC werden mit diversen Microsoft C++-Compilern ausgeliefert und sind Teil der integrierten Entwicklungsumgebung Microsoft Visual Studio.
Die MFC dienen als Schnittstelle zu den nicht objektorientierten API-Funktionen des Betriebssystems und sollen den Umgang mit den vom Betriebssystem zur Verfügung gestellten Ressourcen erheblich vereinfachen. Die MFC stellen somit eine Umsetzung des Adapter-Entwurfsmusters dar – anstatt nur direkt die Win32-API-Funktionen verwenden zu können, kann der Programmierer nun als Adapter die Klassen der MFC verwenden.
Die MFC unterstützen eine Abwandlung des Model View Controller-Architekturmusters. Es werden die Klassen CDocument und CView zur Verfügung gestellt, wobei mit CDocument das Modell d. h. der Datenbehälter und mit CView sowohl Ansicht als auch Steuerung implementiert werden. Der in Microsoft Visual Studio enthaltene Assistent ermöglicht es, Programmgerüste unter Verwendung dieser Architektur automatisch zu erstellen.
Neben der Weiterentwicklung des Herstellers bei weitgehender Abwärtskompatibilität, existieren zahlreiche Ergänzungen durch kommerzielle Dienstleister, sowie eine ausführliche Dokumentation. Alle in Windows verwendeten Steuerelemente können verwendet werden. So sind aktuelle Komponenten aus Windows und anderen Microsoft-Produkten (z. B. Ribbons) nur in den MFC verfügbar. Auch wird das aktuelle Vista-Design unterstützt.
[Bearbeiten] Alternative Bibliotheken
Bekannte Alternativen zu den MFC sind zum Beispiel die Active Template Library (ebenfalls Microsoft), auch in Kombination mit der Windows Template Library (von Microsoft als Open Source freigegeben), und die Visual Component Library (Borland). Die .NET-Plattform verwendet ein System namens Windows Forms, das von der MFC (und dem Thunderforms-System von Visual Basic) beeinflusst wurde. Plattformübergreifende Alternativen sind beispielsweise Swing für Java, Qt und wxWidgets (beide für C++) oder GTK+ (für C und zahlreiche andere Sprachen wie C++, Perl, Ruby, Java, Python).
[Bearbeiten] Literatur
- Frank Budszuhn: Visual C++. Studentenausgabe. Windows-Programmierung mit den MFC. Addison-Wesley, 2004, ISBN 3-82732-175-1.
- George Shepherd, David J. Kruglinski: Inside Visual C++ .NET. Microsoft Press Deutschland, 2003, ISBN 3-86063-678-2.
- Jeff Prosise: Programming Windows with MFC Second Edition. Microsoft Press Books, 1999, ISBN 1-57231-695-0.

