Microsoft Foundation Class Library
La Microsoft Foundation Class Library (MFC) és una biblioteca orientada a objectes de C++ per al desenvolupament d'aplicacions d'escriptori per a Windows.[1] Microsoft va introduir MFC el 1992 i ràpidament es va generalitzar. Tot i que Microsoft ha introduït marcs d'aplicació alternatius des de llavors, MFC continua sent àmpliament utilitzat.[2] HistòriaMFC es va introduir el 1992 amb el compilador C/C++ 7.0 de Microsoft per utilitzar-lo amb versions de 16 bits de Windows com un contenidor C++ orientat a objectes extremadament prim per a l'API de Windows. C++ tot just començava a substituir C per al desenvolupament de programari d'aplicacions comercials en aquell moment. En un programa MFC, les crides directes a l'API de Windows rarament són necessàries. En canvi, els programes creen objectes a partir de classes Microsoft Foundation Class i criden funcions membres que pertanyen a aquests objectes. Moltes d'aquestes funcions comparteixen els seus noms amb les funcions API corresponents. Una peculiaritat de MFC és l'ús d'"Afx" com a prefix per a moltes funcions, macros i el nom de capçalera precompilat estàndard "stdafx.h". Durant el desenvolupament inicial, el que es va convertir en MFC es va anomenar "Application Framework Extensions" i es va abreujar "Afx". El nom Microsoft Foundation Classes (MFC) es va adoptar massa tard en el cicle de llançament per canviar aquestes referències. MFC 8.0 es va publicar amb Visual Studio 2005. MFC 9.0 es va publicar amb Visual Studio 2008. El 7 d'abril de 2008, Microsoft va publicar una actualització de les classes MFC com a actualització fora de banda de Visual Studio 2008 i MFC 9.[3][4][5] L'actualització inclou noves construccions d'interfície d'usuari, com ara les cintes i els widgets d'IU associats, barres d'eines totalment personalitzables, panells d'acoblament que es poden desplaçar lliurement o acoblar a qualsevol costat i pestanyes de documents.[6] MFC era inicialment una característica de les versions comercials de Visual Studio. Per tant, no s'inclou al programari gratuït Visual C++ Express.[7] Tanmateix, l'edició Community de Visual Studio, introduïda el 2014, inclou MFC. Object Windows Library (OWL), dissenyada per al seu ús amb el compilador Turbo C++ de Borland, va ser un producte de la competència introduït per Borland més o menys al mateix temps. Finalment, Borland va interrompre el desenvolupament d'OWL i va obtenir la llicència de distribució de les capçaleres, biblioteques i DLL MFC de Microsoft[8] durant un curt període, tot i que mai va oferir suport completament integrat per a MFC. Borland va llançar més tard Visual Component Library per substituir el marc OWL. CaracterístiquesMFC és una biblioteca que encapsula parts de l'API de Windows en classes de C++, incloent-hi la funcionalitat que els permet utilitzar un marc de treball d'aplicació per defecte. Les classes es defineixen per a molts dels objectes de Windows gestionats per handle i també per a finestres predefinides i controls comuns. En el moment de la seva introducció, MFC proporcionava macros de C++ per al maneig de missatges de Windows (via Message Maps[9]), excepcions, identificació de tipus en temps d'execució (RTTI), serialització i instanciació dinàmica de classes. Les macros per al maneig de missatges tenien com a objectiu reduir el consum de memòria evitant l'ús gratuït de taules virtuals i també proporcionar una estructura més concreta perquè diverses eines proporcionades per Visual C++ editessin i manipulessin codi sense analitzar tot el llenguatge. Les macros de maneig de missatges van substituir el mecanisme de funcions virtuals proporcionat per C++. Les macros per a la serialització, les excepcions i l'RTTI van ser anteriors a la disponibilitat d'aquestes funcions a Microsoft C++ en diversos anys. Les versions de 32 bits de MFC, per a sistemes operatius Windows NT 3.1 i posteriors, utilitzaven compiladors que implementaven les funcions del llenguatge i actualitzaven les macros per simplement encapsular les funcions del llenguatge en lloc de proporcionar implementacions personalitzades, aconseguint compatibilitat ascendent. L'editor de recursos de la cinta MFC permet al desenvolupador dissenyar la cinta gràficament en lloc d'haver d'utilitzar el marcatge declaratiu basat en XML com l' API RibbonX. Opcionalment, els components de la cinta es poden programar directament cridant un nou conjunt de mètodes de classe de cinta. El desenvolupador pot combinar el desenvolupament gràfic i programàtic de la cinta segons convingui. L'assistent d'aplicacions MFC també s'ha actualitzat per admetre les noves funcions, inclosa una casella de selecció per seleccionar si l'aplicació utilitzarà la cinta o els panells d'acoblament. La nova funcionalitat es proporciona a les noves classes perquè les aplicacions antigues continuïn executant-se.[10] Aquesta actualització es basa en la BCGControlBar Library Professional Edition de BCGSoft.[11] Microsoft ha imposat requisits de llicència addicionals als usuaris de les cintes.[12] Aquests inclouen el requisit d'adherir-se a les Directrius de disseny de la interfície d'usuari de Microsoft i una clàusula anticompetència que prohibeix l'ús de la interfície d'usuari en aplicacions que competeixen amb Microsoft Office. MFC es pot utilitzar enllaçant una biblioteca estàtica o afegint la DLL de MFC. Referències
|