En el software, un objeto de acceso a datos (DAO) es una interfaz abstracta para algún tipo de base de datos o motor de almacenamiento. Ciertas capacidades se proporcionan independientemente del motor de almacenamiento que se utilice y sin necesidad de ajustarse específicamente a ese motor de almacenamiento. Este patrón de diseño se aplica a muchos lenguajes de programación, la mayoría del software que necesita almacenar información y la mayoría de las bases de datos. Pero tradicionalmente, este patrón se ha asociado con las aplicaciones de la plataforma Java Enterprise Edition que interactúan con bases de datos relacionales a través de la interfaz JDBC , porque aparecía en las directrices de Sun Microsystems . [una]