Please note: This page is imported from my wiki, which hasn't been updated in over 10 years. Some of the formatting was lost during the import. I'll try to get around to fixing it someday.
A Data Access Object is used to abstract and encapsulate all access to the database / datastore. The DAO manages all connections to the store and access to the store should be restricted to these objects.