DAO

full spelling : Data Access Object

Data Access Object is a software component that provides a common interface between the application and one or more data storage devices, such as a database or file. In other words its implements the access mechanism required to work with the data source. A Data Access Object class can provide access to a particular data resource without coupling the resource's API to the business logic.

The term Data Access Object is most frequently applied to the Object design pattern. Data Access Objects are a Core J2EE Design Pattern. The advantage of using data access objects is that object does not require direct knowledge of the final destination for the information it manipulates. There for modification can be made about where and how the data is stored without needing to change the main application.