--- 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](https://www.amazon.com/gp/product/0596004273/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=0596004273&linkCode=as2&tag=javadesignpat-20&linkId=48d37c67fb3d845b802fa9b619ad8f31)