DAO (Data Access Object): a component in an n-tier architecture that encapsulates all interaction with a persistence layer, such as a database or cache, exposing simple methods to create, read, update, and delete data. By isolating storage details behind this interface, the business logic and service tiers can remain independent of the underlying data store and its query language.

