PDA

Visualizza la versione completa : MFC <vs> Architettura classica


gianvituzzi
25-12-2009, 19:38
Salve,

in VC++ Express Edition che uso per programmare non è presente la Microsoft Foundation Class. Tuttavia sto trovando tantissimo codice sorgente scritto usando questa architettura, lo so perchè sembra tutto incluso in una classe e poi si accede agli oggetti tramite "classe::funzione" e così via...ma non vedo mai la gestione dei messaggi tramite callback etc...

su wikipedia leggo:


Microsoft Foundation Classes, meglio conosciuta con l'acronimo MFC, è una libreria di classi C++ prodotta da Microsoft con lo scopo di incapsulare le Windows API. È definita una classe per ciascun oggetto di Windows dotato di handle, e anche per le finestre predefinite e per i controlli comuni (common controls).
...
Da un punto di vista pratico, lo sviluppo di programmi Windows con MFC risulta molto più rapido e semplificato rispetto all'uso diretto delle Windows 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 di Visual Basic però, MFC iniziò a declinare perché sembrò che C++ e MFC fossero troppo complesse per molti programmatori. Più recentemente, la nascita della piattaforma .NET ha condannato ad un ruolo di nicchia MFC anche se Microsoft ne ha confermato il supporto, almeno per il futuro prossimo.


mi domando se (magari anche in ambito lavorativo) molto richiesto il tipo di architettura MFC per programmare in C++ su Win32 oppure se posso tranquillamente andare avanti utilizzando il metodo "classico" (di accedere da solo alle API)

Ad esempio per fare un programma per Win32 con tanto di finestra menu bottoni e threads interni etc...sia meglio e magari più semplice per la stesura del codice utilizzare MFC.

grazie

oregon
26-12-2009, 11:48
E' sicuramente più comodo usare MFC delle API ma se vuoi programmare in Win32 nativo, esistono tante librerie anche più moderne. Sicuramente ATL ma anche tante altre che ti possono assicurare la portabilità ...

Loading