În programarea computerelor, obiectele de acces la date (DAO) sunt o tehnică de proiectare care creează un strat de modul pentru a gestiona toate accesul la date pentru un program software. Acest strat este responsabil pentru citirea și scrierea datelor într-o bază de date sau într-un sistem de fișiere extern. În proiectarea software-ului, există multe modalități de a citi și scrie date într-o bază de date. Acest lucru poate cauza cod software neglijent, deoarece dezvoltatorii pot folosi mai multe metode pentru a efectua aceeași sarcină de acces la date. Unul dintre avantajele principale ale utilizării DAO-urilor este capacitatea de a standardiza modul în care sunt accesate datele pentru un program software. Designul DAO asigură că accesul la baza de date va fi efectuat într-o manieră similară, ceea ce face un software mai bun.
Obiectele de acces la date au fost introduse pentru prima dată din punct de vedere academic în modelul de programare a obiectelor. Această abordare arhitecturală necesită ca software-ul să fie construit în module specifice cu un scop specific. DAO este un modul software care are responsabilitatea de a prelua și modifica toate datele de pe orice dispozitiv de stocare a datelor.
Tehnica de utilizare a DAO-urilor nu este unică pentru un anumit limbaj de programare. Microsoft MS Access a introdus pentru prima dată această abordare, dar este disponibilă în prezent în majoritatea limbajelor de programare moderne. Este considerată cea mai bună practică de a centraliza accesul la date, deoarece face aplicația software flexibilă. Această tehnică poate economisi ore valoroase de dezvoltare, deoarece creează un modul reutilizabil pentru baza de date.
Un exemplu de obiecte de acces la date în practică este afișarea pagină cu pagină a rezultatelor, care se găsește adesea într-un browser web. Când prima pagină de rezultate este afișată după o căutare, ecranul permite de obicei utilizatorului să selecteze următoarea pagină de date. Acesta folosește modelul DAO, care permite utilizatorului să se deplaseze înainte și înapoi printr-un set de date.
Multe cadre software au implementat obiectele de acces la date în instrumentele software. Unele exemple includ obiecte de date hibernate, spring și java (JDO). Aceste cadre sunt utile pentru dezvoltatorii de software deoarece au încapsulat modelul DAO în cadru, făcându-l ascuns de dezvoltator.
Utilizarea obiectelor de acces la date poate economisi timp, de asemenea, cu testarea și implementarea codului software. Modulul unic de codare este responsabil pentru accesul la date pentru întreaga aplicație. Acest lucru facilitează testarea deoarece un singur modul poate valida mai multe puncte de acces la date ale software-ului.