Microsoft Foundation Classes

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca
Logo della libreria

Microsoft Foundation Classes,meglio conosciuta con l'acronimoMFC,è unalibreriadiclassiC++prodotta daMicrosoftcon lo scopo di incapsulare leWindows API.È definita una classe per ciascun oggetto diWindowsdotato dihandle,e anche per le finestre predefinite e per i controlli comuni (common controls).

MFC è stata introdotta nel1992per essere usata con le versioni a16 bitdiWindows,come parte del tentativo diMicrosoftdi guadagnare quote di mercato nell'area degli strumenti di sviluppo, ed è stata progettata per essere una sorta di rassegna delle potenzialità del linguaggio di programmazione C++. In quel tempo infatti il C++ aveva appena iniziato a sostituire illinguaggio Cnello sviluppo di software commerciale, e Microsoft aveva da poco aggiunto il supporto del C++ al suo compilatore C.

Più o meno nello stesso periodo venne lanciato daBorlandun prodotto concorrente denominatoObject Windows Library(OWL), inserito nel compilatoreTurbo Cdi Borland. Siccome aveva una strutturaobject orientedsuperiore, OWL per un certo periodo ebbe più successo di MFC, tuttavia perse quote di mercato quando i suoi aggiornamenti mancarono di supportare le nuove caratteristiche di Windows, ed in seguito non venne più prodotto.

Quando MFC venne introdotta, le potenze di calcolo e la memoria disponibile nei computer erano risorse limitate. Per questo motivo Microsoft decise per la gestione dei messaggi di windows di non avvalersi dellefunzioni virtuali,uno dei meccanismi più potenti offerti dal C++ ma fonte di un discretooverhead,e di utilizzare al loro posto una speciale sintassi basata su macro. Siccome però le macro non dispongono di un sufficiente controllo dei tipi da parte del compilatore, il loro uso è stato spesso fonte di bug. Oltre alle code di messaggi, anche laserializzazionee lagestione delle eccezionifurono basate sumacroanziché su caratteristiche native del C++ che proprio per questo tardarono ad affermarsi negli anni. Queste caratteristiche sono ancora presenti nelle versioni attuali di MFC.

Da un punto di vista pratico, lo sviluppo di programmi Windows con MFC risulta molto più rapido e semplificato rispetto all'uso diretto delleWindows API,anche se la loro conoscenza è quasi indispensabile per un programmatore MFC a causa della poca astrazione introdotta dalla libreria di classi. Uno dei vantaggi maggiori deriva dal fatto che gli handle degli oggetti vengono gestiti automaticamente dalla libreria e chiusi quando gli oggetti vengono distrutti.

Per lungo tempo MFC è stata promossa da Microsoft come il proprio strumento di punta nello sviluppo di applicazioni commerciali. Già con l'avvento diVisual Basicperò, MFC iniziò a declinare perché sembrò che C++ e MFC fossero troppo complesse per molti programmatori. Più recentemente, la nascita della piattaforma.NETha condannato ad un ruolo di nicchia MFC anche se Microsoft ne ha confermato il supporto, almeno per il futuro prossimo.

Collegamenti esterni

[modifica|modifica wikitesto]
 Portale Microsoft:accedi alle voci di Wikipedia che trattano di Microsoft