W programowaniu komputerowym obiekty dostępu do danych (DAO) są techniką projektowania, która tworzy warstwę modułów do zarządzania dostępem do wszystkich danych dla programu. Ta warstwa odpowiada za odczytywanie i zapisywanie danych w bazie danych lub zewnętrznym systemie plików. W projektowaniu oprogramowania istnieje wiele sposobów odczytywania i zapisywania danych w bazie danych. Może to powodować niechlujny kod oprogramowania, ponieważ programiści mogą używać wielu metod do wykonywania tego samego zadania dostępu do danych. Jedną z głównych korzyści wynikających z używania DAO jest możliwość standaryzacji dostępu do danych dla oprogramowania. Konstrukcja DAO zapewnia, że cały dostęp do bazy danych będzie wykonywany w podobny sposób, co czyni oprogramowanie lepszym.
Obiekty dostępu do danych zostały po raz pierwszy wprowadzone akademicko w modelu programowania obiektowego. Takie podejście do architektury wymaga, aby oprogramowanie było wbudowane w określone moduły w określonym celu. DAO to moduł oprogramowania, który odpowiada za pobieranie i modyfikowanie wszystkich danych z dowolnego urządzenia do przechowywania danych.
Technika korzystania z DAO nie jest unikalna dla konkretnego języka programowania. Microsoft MS Access jako pierwszy wprowadził to podejście, ale jest obecnie dostępne w większości nowoczesnych języków programowania. Za najlepszą praktykę uważa się centralizację dostępu do danych, ponieważ sprawia ona, że aplikacja jest elastyczna. Ta technika może zaoszczędzić cenne godziny opracowywania, ponieważ tworzy moduł wielokrotnego użytku dla bazy danych.
Jednym z przykładów obiektów dostępu do danych w praktyce jest wyświetlanie wyników strona po stronie, które często można znaleźć w przeglądarce internetowej. Kiedy pierwsza strona wyników jest wyświetlana po wyszukiwaniu, ekran zazwyczaj pozwala użytkownikowi wybrać następną stronę danych. Wykorzystuje to wzorzec DAO, który umożliwia użytkownikowi poruszanie się do przodu i do tyłu przez zestaw danych.
Wiele struktur oprogramowania zaimplementowało obiekty dostępu do danych w narzędziach programowych. Niektóre przykłady obejmują obiekty danych hibernacji, wiosny i java (JDO). Te frameworki są przydatne dla programistów, ponieważ hermetyzują wzorzec DAO w ramach frameworka, ukrywając go przed deweloperem.
Korzystanie z obiektów dostępu do danych może również zaoszczędzić czas przy testowaniu i wdrażaniu kodu oprogramowania. Pojedynczy moduł kodujący odpowiada za dostęp do danych dla całej aplikacji. Ułatwia to testowanie, ponieważ jeden moduł może sprawdzać wiele punktów dostępu do danych oprogramowania.