Questo libro ricalca la stessa struttura dell’analogo libro su C# 2008 che avevo recensito lo scorso 4 maggio.
Ovvero una serie di ricette (“recipes”) che, affrontando problemi comuni e di difficoltà crescente (all’interno dello stesso macroargomento), ripercorrono le basi teoriche dell’argomento, impartendo un utile ripasso al lettore, proprio mentre affronta i problemi reali.
Ogni ricetta segue lo stesso schema:
Problem -> Solution -> Discussion
Ovvero prima si espone il problema (già comunque comprensibile dal titolo della recipe), poi si espone la soluzione sotto forma di codice in C# (con un discreto numero di commenti nel codice), e poi si spiega perché si è proceduto così. Didatticamente questa soluzione è ottima: mostrare un problema e subito dopo come si risolve è un eccellente modo per padroneggiare la tecnologia. A mio modo di vedere questo vale in particolare per chi già conosce più che discretamente ADO.NET. In tal modo si immagina come lo avrebbe risolto senza l’aiuto dell’autore, e poi vede la sua soluzione.
Per chi invece sta muovendo i primi passi su questo argomento, non lo consiglierei, almeno fino a quando si è raggiunta una più che buona dimestichezza.
Un altro “plus” è che ogni ricetta è breve, e punta subito alla questione, senza distrazioni di contorno. Ognuna di essere può essere letta, ed anche provata, in non più di 10 minuti.
Il capitolo 8, probabilmente, sarà quello più letto, dato che riguarda i problemi che possono incorrere gli sviluppatori nell’utilizzo dei controlli databound nelle applicazioni Windows e Web.
Bisogna solo tenere a mente, ed è molto importante, che questo libro riporta delle soluzioni “tecniche”, non è un manuale che insegna come realizzare applicazioni di classe enterprise. Nessuno sviluppatore, infatti, si sognerebbe nemmeno lontanamente di cablare le stringhe di connessione e le query direttamente nella pagina web (sia .aspx che code-behind), ma utilizzerebbe (almeno) una struttura a 3 livelli e degli appropriati pattern di sviluppo.
A parte questo capitolo, dove si utilizzano applicazioni Windows e Web, tutti gli altri capitoli fanno uso di applicazioni di tipo Console, dato che lo scopo è concentrarsi sulla logica degli oggetti ADO.NET, senza essere distratti dal come le informazioni vengono visualizzate.
Malgrado nel titolo si faccia esplicito riferimento ad ADO.NET 3.5, mi sembra che il libro sia più adatto ad ADO.NET 2.0, dato che le piccole aggiunte per far rientrare un po’ di LINQ qua e là sembra che siano state messe a posteriori per “aggiornare” il testo con l’ultima versione di ADO.NET. Anche il database di riferimento infatti è SQL Server 2005, e non il 2008.
Come database poi si utilizza AdventureWorks, appunto nella sua versione in SQL Server 2005. Per alcune “recipes” però, ci si basa su tabelle (e dati) creati al volo all’interno della recipe stessa. Nel codice sorgente scaricabile, infatti, è presente anche una cartellina con alcuni file .sql, proprio per questo scopo.
Il codice scritto nel libro è impaginato molto bene: si utilizza un carattere piccolo ma leggibilissimo. L’indentazione è ottima, e si fa un giusto e sapiente uso degli spazi. Nulla da eccepire; fossero tutti così.
Anche il codice sorgente è ben strutturato: ci sono tanti micro-progetti quante sono le recipes presenti nel libro. Ognuno funziona correttamente in Visual Studio 2008, ed anche la scrittura di questo codice è ben fatta come quella presente nel libro.
Malgrado possa essere letto sequenzialmente dall’inizio alla fine, dato che gli argomenti seguono un certo ordine logico unito ad un aumento progressivo di difficoltà, non credo che il tipico lettore di questo libro farà in questo modo: personalmente non ho fatto così. In base alle necessità, ad esempio, consultavo le recipes di interesse, oppure – avendo tempo a disposizione – mi leggevo il capitolo per intero. Credo comunque che i primi tre capitoli (connessione e recupero dati) vadano letti obbligatoriamente, dato che sono i mattoncini base per tutti gli altri (e costituiscono comunque un valido ripasso per chi già si sente di conoscerli).
A questa pagina è presente la scheda dettagliata del libro, con la possibilità di leggere gli inizi di tutti i paragrafi del libro.
Questa funzionalità è molto utile perché permette anche di estrapolare esempi di codice, e spesso quelli che appaiono per primi nel capitolo, sono i più utili.
Il codice (circa 3 MB) è presente anche nella versione VB.NET, più un piccolo file .sql per crearsi il database di esempio.
PRO
Tutto quello che spesso non si trova in libri anche specializzati su ADO.NET, è riportato per esteso in questo libro. Per chi già conosce l’argomento, con questo libro riesce in modo mirabile a fissare gli argomenti, e si chiarisce le idee con gli innumerevoli dubbi e problemi che posso sorgere utilizzando questa comunque complessa disciplina. Ottimi sia l’impaginazione, che l’indentazione del codice, che l’organizzazione dei progetti nel codice scaricabile. Si è davvero ben seguiti in tutto, sia nel libro che nei file di codice. La rilegatura della O’Reilly è sufficientemente flessibile da consentire di tenere aperto il libro sulla scrivania pur essendo questo un tomo di quasi mille pagine.
CONTRO
Non trovo nulla di particolarmente grave da segnalare. Bisogna solo ricordarsi che le “recipes” non vanno prese a riferimento come una buona forma di programmazione per applicazioni complesse di classe enterprise, dato che tutta loro logica è annegata in un punto solo. Il codice è riportato solo in C#, quindi chi sviluppa in VB.NET deve armarsi di pazienza e riconvertirlo.
PROS
All that often is not in books also specialized about ADO.NET, shows in full in this book. For those who already know this, with this book has wonderful way to set the arguments, and clarifies the ideas with the countless doubts and problems that can arise by using this however complex discipline. Excellent both pagination, that the indentation of the code, that the Organization of the projects in the downloadable code. It is very well followed in all, both in the book in the code files. ‘ The binding of the O'Reilly is flexible enough to keep open the paper on the desktop while being a tome of almost a thousand pages.
CONS
I do not find anything of particularly serious to report. We need only remember that the recipes are not taken by reference as a good form of programming for enterprise, all their logic is drowned in an only complex applications. Code is shown only in C#, who then developing VB.NET must rearm of patience and convert it.
Voto complessivo: 8.5/10
Lettore: Intermedio
Table of Contents
Preface
1. Connecting to Data
2. Working with Disconnected Data Objects
3. Querying and Retrieving Data
4. Searching and Analyzing Data
5. Adding and Modifying Data
6. Copying and Transferring Data
7. Maintaining Database Integrity
8. Programmatically Working with Data in .NET Windows and Web Forms User Interfaces
9. Working with XML Data
10. Optimizing .NET Data Access
11. Enumerating and Maintaining Database Objects
12. SQL Server CLR Integration
Appendix:. What's New in ADO.NET Since Version 1.0
Index
Titolo: ADO.NET 3.5 Cookbook
Autore: Bill Hamilton
Editore: O’Reilly
ISBN: 0596101406
Pagine: 980
Prezzo: 34,64 $ (su Amazon)
Data di uscita: 27/03/2008