In informatica, nell'ambito della programmazione Web, il DAO (Data Access Object) è un pattern architetturale per la gestione della persistenza: si tratta fondamentalmente di una classe con relativi metodi che rappresenta un'entità tabellare di un RDBMS, usata principalmente in applicazioni web sia di tipo Java EE sia di tipo EJB, per stratificare e isolare l'accesso ad una tabella tramite query (poste all'interno dei metodi della classe) ovvero al data layer da parte della business logic creando un maggiore livello di astrazione ed una più facile manutenibilità. I metodi del DAO con le rispettive query dentro verranno così richiamati dalle classi della business logic.

Il vantaggio relativo all'uso del DAO è dunque il mantenimento di una rigida separazione tra le componenti di un'applicazione, le quali potrebbero essere il "Modello" e il "Controllo" in un'applicazione basata sul paradigma MVC.

Il DAO viene quindi utilizzato per fornire un'interfaccia unificata per l'accesso ai dati, in modo che l'applicazione non debba preoccuparsi di come i dati vengono archiviati o recuperati. Invece, il DAO si occupa di tutto ciò per conto dell'applicazione.

In termini pratici, il DAO si compone di una serie di classi che rappresentano gli oggetti di dominio dell'applicazione (ad esempio un oggetto "Utente" o un oggetto "Ordine"). Queste classi includono metodi per salvare, recuperare, aggiornare e eliminare dati dal database.

L'idea alla base del DAO è quella di separare la logica di accesso ai dati dalla logica dell'applicazione, in modo da semplificare la gestione dei dati e migliorare la manutenibilità del codice. In questo modo, se si decide di cambiare il database utilizzato per l'applicazione, è possibile farlo senza dover modificare l'intera applicazione.

I partecipanti al Data Access Object Pattern sono i seguenti:

  • Data Access Object Interface: Questa interfaccia definisce le operazioni standard da eseguire su uno o più oggetti del modello.
  • Classe concreta Data Access Object: Questa classe implementa l'interfaccia di cui sopra. Questa classe è responsabile di ottenere i dati da un'origine dati che può essere un database / xml o qualsiasi altro meccanismo di memorizzazione.
  • Model Object oppure Value Object: Questo oggetto è un semplice POJO che contiene metodi get/set per memorizzare i dati recuperati con la classe DAO.

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Dao

municipalità della Provincia di Antique Data Access Object – interfaccia orientata agli oggetti Data Access Objects – interfaccia orientata agli oggetti

Microsoft Jet Database Engine

e permette connessioni di tipo nativo, con ADO ed il più vecchio Data Access Objects (DAO), ma anche connessioni ODBC. Altri progetti Wikimedia Commons

Business Objects

trasformazione di dati nel Data Warehousing". BusinessObjects ha quindi rilasciato una nuova versione di BusinessObjects Data Integrator (11.7.2) priva

Internet delle cose

definiscono più propriamente "oggetti intelligenti" (in inglese smart objects) e si contraddistinguono per alcune proprietà o funzionalità. Le più importanti

ActiveX Data Objects

Contribuisci a migliorarla secondo le convenzioni di Wikipedia. Gli ActiveX Data Objects, o oggetti ADO, sono una tecnologia informatica che permette di interfacciare

Database management system

(ODBC) o Java DataBase Connectivity (JDBC, lo standard per Java), che forniscono ai programmatori strumenti standardizzati per l'accesso ai database. I

Design pattern

prevede l'utilizzo di un singolo file per gestire tutte le richieste Data Access Object, per la gestione della persistenza: si tratta fondamentalmente

MySQL

righe. Da utilizzare tipicamente in lettura per Data Warehouse: riduce da 10 a 100 volte i tempi di accesso e lo spazio per i dati. Alcuni di questi storage