Dr. Carlo Pescio
Recensione: MFC Internals


Scheda Libro
Autore: George Shepherd, Scot Wingo Titolo: MFC Internals
Editore: Addison Wesley ISBN: 0-201-40721-3
Lingua: Inglese Anno: 1996 Pagine: 710 Allegati: Floppy con alcuni esempi e la MFC FAQ

Commenti
L’introduzione di Dean McCrory (capo progetto di MFC) riportata anche in copertina recita: "Quite simply, this book is a must-have for any serious MFC developer"; ed in effetti, ogni sviluppatore che non si accontenti di usare MFC, ma che voglia veramente capire come funzionano le varie classi, quali interazioni e dipendenze esistano tra esse, e che voglia più in generale conoscere la struttura interna di MFC, dovrebbe avere (e leggere!) una copia di questo libro. Non solo, chiunque si sia trovato improvvisamente all’interno del sorgente di MFC durante una sessione di debugging, non potrà che trarre beneficio dalla lettura del testo.
Gli autori presentano dapprima una panoramica generale su MFC, sulle classi principali, e su come MFC realizzi il legame tra programmazione "a livello SDK" e programmazione orientata agli oggetti. In seguito si concentrano sulle classi più importanti (dialog, documenti, viste), ma anche, con minore dettaglio, su alcune classi di infrastruttura come i contenitori e diverse classi non documentate; infine discutono la serializzazione ed il Run-Time Class Information, l’implementazione del Component Object Model in MFC, i documenti OLE, OLE automation, eccetera, ogni volta con precisi riferimenti al sorgente di MFC e con l’enfasi della trattazione posta sul funzionamento, non sull’utilizzo, delle diverse classi.

Pro
In mezzo a tanti libri che spiegano come ottenere dei risultati rapidi ed indolori, finalmente un testo che non tratta la tecnologia come una scatola nera, ma spiega i dettagli di implementazione e progetto. Se dopo l’iniziale esperienza con i Wizard vi siete sentiti "privati del controllo", o se provenite da una lunga esperienza di programmazione SDK, questo è il testo più adatto per capire come funziona internamente MFC e riconquistare la necessaria sicurezza nell’utilizzo di tale libreria. Inoltre, l’esperienza acquisita nello studio del testo si rivelerà molto utile anche per future "esplorazioni" in proprio dei sorgenti, durante il debugging o per approfondire temi non trattati dagli autori.

Contro
Vi sono evidenti problemi in un testo simile: MFC viene continuamente modificata, ed ogni riferimento al sorgente tende a diventare rapidamente obsoleto; MFC è molto ampia, e qualunque testo che ne discuta la struttura non potrà che coprirne solo una parte; ed infine, molti dettagli di funzionamento sono (fortunatamente!) del tutto irrilevanti per chi utilizza le classi. Occorre quindi essere molto determinati per studiare qualcosa che, presumibilmente, sta cambiando proprio mentre leggiamo il testo; d’altro canto, alcune parti di MFC hanno ormai raggiunto una buona stabilità e vale la pena di conoscerle più a fondo. Ovviamente sconsigliato a chi mira solo al risultato, senza curarsi di "come funzionino" le classi utilizzate.