Content deleted Content added
No edit summary |
|||
Line 3:
In [[computer software]], a '''data access object''' ('''DAO''') is an [[Object (computer science)|object]] that provides an abstract [[Interface (computer science)|interface]] to some type of [[database]] or other persistence mechanism. By mapping application calls to the persistence layer, the DAO provides some specific data operations without exposing details of the database. This isolation supports the [[single responsibility principle]]. It separates what data access the application needs, in terms of ___domain-specific objects and data types (the public interface of the DAO), from how these needs can be satisfied with a specific [[Database Management System|DBMS]], database schema, etc. (the implementation of the DAO).
Although this [[design pattern]] is equally applicable to most programming languages, most types of software with [[Persistence of vision|persistence]] needs, and most types of databases, it is traditionally associated with [[Java Platform, Enterprise Edition|Java EE]] applications and with relational databases (accessed via the JDBC API because of its origin in Sun Microsystems' best practice guidelines<ref>
{{cite web
| title = Core J2EE Patterns - Data Access Objects
|