Data access object: Difference between revisions

Content deleted Content added
Removing unreferenced claims
MattF (talk | contribs)
Removed unnecessary inline list
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 the following: (1- most programming languages; 2-, most types of software with persistence needs;, and 3- 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