Data Access Object (DAO) используется для абстрагирования и инкапсулирования доступа к источнику данных.
Использующие DAO бизнес-компоненты работают с более простым интерфейсом, предоставляемым объектом DAO своим клиентам.
DAO полностью скрывает детали реализации источника данных от клиентов.
Поскольку при изменениях реализации источника данных представляемый DAO интерфейс не изменяется, этот паттерн дает возможность DAO принимать различные схемы хранилищ без влияния на клиенты или бизнес-компоненты.