L'altro giorno mi trovavo a ripensare ad un therad del forum, http://www.ugidotnet.org/forum/thread.asp?m=36129.
Ho inizato a navigare con i la testa e ho tirato fuori un pensiero. Quale è il vantaggio di usare il datatable rispetto al datareader? ... non certo in performance. Ne ho dedotto ke il Datatable è un ottimo oggetto per favorire la creazione di strati di astrazione tra livelli.
Se la mia classe di Biz tornasse un DataReader che poi la presentation mette in bind con una datagrid sto obbligando la presentation a conoscere il database! Se cambia la base dati? Certo se cambia la base dati posso sempre costruire una SELECT ad hoc per far avere un DataRedaer con la struttura che la griglia si aspetta... ma non è sempre semplice. Se si tratta di modifiche sui campi basta usare gli alias... il problema qsi non sussiste se si tratta di fare la join tra due tabelle... ma se la mia fonte dati non è piu qlkosa accessibile via ADO? se la fonte dati è addirittura frammentata?
Il datatable soprattutto è un contenitore di dati... l'uso semplice del datatable è qllo di usarlo in combo con il DataAdapter che ci aiuta a versare i dati dal Datareader al Datatable... ma il Datatable è molto di piu! La struttura del datatable può essere decisa a codice e non è certo necessario un DataAdapter per versarci dentro dei dati... che possono arrivare da fonti diverse... fonti la cui forma non deve interessare alla presentation... certo qsto nell'ottika di avere applicazioni scalabili! :p
o0( si sarà capito il pensiero?)
posted @ lunedì 26 aprile 2004 17:45