- Microsoft Foundation Class
-
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.
Inhaltsverzeichnis
Kritik
Die MFC sind plattformabhängig. So ist es nicht möglich, ein Programm, welches mit Hilfe der MFC geschrieben wurde, ohne weiteres auf anderen Betriebssystemen wie Linux oder Mac OS zu kompilieren. Da der Quellcode unter einer proprietären Lizenz steht ist eine Portierung auf andere Plattformen nicht möglich und vom Hersteller auch nicht gewollt, so dass eine starke Bindung an die Windowsplattform entsteht.
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 Qt und wxWidgets (beide für C++) oder GTK+ (für C und zahlreiche andere Sprachen wie C++, Perl, Ruby, Java, Python).
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.
Weblinks
Wikimedia Foundation.