Dr. Carlo Pescio
Recensione: Extending the MFC Library


Scheda Libro
Autore: David A. Schmitt Titolo: Extending the MFC Library
Editore: Addison Wesley ISBN: 0-201-48946-5
Lingua: Inglese Anno: 1996 Pagine: 366 Allegati: CD Rom con sorgenti

Commenti
Il testo si propone due obiettivi piuttosto ambiziosi: spiegare come estendere la libreria MFC attraverso degli esempi, e fornire al tempo stesso delle nuove classi da utilizzare nelle proprie applicazioni. Come spesso avviene, gli obiettivi sono raggiunti solo in parte: l’autore presenta con adeguata chiarezza alcuni dei problemi più comuni che si incontrano cercando di estendere MFC (ad esempio, la mancanza di controllo sulla creazione degli oggetti), ma l’approccio "ad esempi" non può non lasciar fuori molti altri casi interessanti. Le classi presentate sono potenzialmente utili (un progress dialog per load/save, un miglioramento del printing in CView, una classe per gli alberi ed il suo mapping in una vista, eccetera) ma certamente non giustificano di per sé l’acquisto del libro, che ha il suo vero valore proprio nelle tecniche di estensione presentate, più che nelle classi che alla fine vengono costruite. Infine, il libro discute l’utilizzo di controlli OLE come packaging delle estensioni ad MFC, ma rimane ad un livello molto superficiale, dedicandovi poche pagine e rendendo necessario l’accostamento di un altro testo per l’approfondimento dei temi.

Pro
L’autore scrive decisamente bene, e non si pone troppi problemi nell’esprimere la sua opinione, come nel paragrafo "Hungarian Notation? Just Say No!". Spesso l’estensione di una classe non può prescindere da uno studio del funzionamento della stessa, e quindi il testo è anche una buona fonte di informazioni sulla struttura interna di MFC, sul ruolo delle diverse classi e su come queste cooperino per ottenere un risultato; in questo senso, è uno dei pochi libri ben fatti presenti sul mercato. Ottima l’idea di fornire sul CD, insieme ai sorgenti, un file in formato Word (con struttura gerarchica) contenente un reference di tutte le estensioni presentate, anche se le stesse informazioni sono disponibili nell’appendice A del testo.

Contro
Come anticipato, le classi possono essere utili ma non sono le estensioni che utilizzerete ogni giorno, o che vi risparmieranno mesi di lavoro. Non pensate quindi di acquistare una galleria di componenti: il testo si rivolge a chi vuole capire meglio come funziona MFC e soprattutto come estenderla, ed in questo senso il target è relativamente ristretto. L’autore evita, forse per autoconservazione, di discutere le parti peggiori di MFC (ad esempio il mapping controlli-viste): purtroppo, queste sono anche le più difficili da estendere, ed una guida sarebbe certamente utile. Il costo è relativamente alto se consideriamo l’effettiva quantità di nozioni trasmesse, che richiedono comunque un certo sforzo di astrazione da parte del lettore.