PDA

View Full Version : che cosa è un DAO


topix93
30-05-2012, 18:18
Volevo sapere da voi cosa è di preciso un DAO e quali sono i vantaggi nell'utilizzarlo

AllerITA
30-05-2012, 18:58
E' un framework per la gestione di database, in particolare database Microsoft Jet (Ms Access) o anche ODBC.
Si usava dal Visual Studio 6.0 con Visual Basic o anche Visual C++ (era comodo
da usare in VB).
Poi sostituito col più versatile ADODB e successivamente ancora meglio con ADO.NET.
Qui puoi trovare la descrizione con le strutture della libreria di oggetti:

http://msdn.microsoft.com/en-us/library/aa293502(v=vs.60)

Dostybear
30-05-2012, 20:52
Più che un framework sarebbe un pattern http://en.wikipedia.org/wiki/Data_access_object

Mettiu_
30-05-2012, 21:01
In poche parole questo pattern serve a disaccoppiare la logica dell'applicazione dai dati stessi cioè dalla tecnologia utilizzata per garantire la persistenza (DBMS tipicamente). Tu operi sugli oggetti (che sono le classi DAO) attraverso una semplice interfaccia di tipo CRUD (create, read, update, delete) e poi sono le classi che provvedono a riflettere i cambiamenti che fai sulla base di dati. Quindi, ad esempio se chiami un metodo tipo setAttribute() sull'oggetto, modifichi automagicamente anche il dato nel DB.
Ah ovviamente è un pattern supportato da tanti framework, non solo roba Microsoft...

AllerITA
31-05-2012, 10:12
A ecco mi mancava la specifica, lo ho usato solo in ambiente microsoft e quindi non avevo il quadro generale della situazione.:D