--- layout: pattern title: Data Access Object folder: dao permalink: /patterns/dao/ categories: Architectural tags: - Data access --- ## Intent Object provides an abstract interface to some type of database or other persistence mechanism. ## Class diagram ![alt text](./etc/dao.png "Data Access Object") ## Applicability Use the Data Access Object in any of the following situations * when you want to consolidate how the data layer is accessed * when you want to avoid writing multiple data retrieval/persistence layers ## Credits * [J2EE Design Patterns](http://www.amazon.com/J2EE-Design-Patterns-William-Crawford/dp/0596004273/ref=sr_1_2)