Data Access Object
aus Wikipedia, der freien Enzyklopädie
![]() |
Dieser Artikel oder Abschnitt weist inhaltliche Lücken auf.
Hilf Wikipedia, indem du die fehlenden Informationen recherchierst und einfügst! |
Data Access Object (DAO, deutsch „Datenzugriffsobjekt“) ist ein Entwurfsmuster, das den Zugriff auf unterschiedliche Arten von Datenquellen (z. B. Datenbanken) so kapselt, dass die angesprochene Datenquelle ausgetauscht werden kann, ohne den aufrufenden Code zu ändern. Dadurch soll die eigentliche Geschäftslogik von technischen Details befreit und flexibler einsetzbar werden. Insbesondere enthält der aufrufende Code keine SQL-Anweisungen und „weiß“ nicht, ob das DAO SQL oder eine andere Technik verwendet um die Daten zu beschaffen.
DAOs sind keine weitere Datenbankabstraktion.
DAOs sind für ein Speichermedium optimiert. Der Zugriff auf das Persistenzmedium wird über eine für den Anwendungsfall entworfene API vorgenommen. SQL-Anweisungen sind nur noch innerhalb eines SQL-DAOs enthalten.
DAOs minimieren den Portierungsaufwand einer Anwendung beim Wechsel des Speichermediums.
[Bearbeiten] Anwendungsbeispiele
Das Muster findet sich nicht nur im J2EE-Umfeld, sondern auch in der Microsoft-Welt (MFC). Apple liefert ein ähnliches Konzept names Enterprise Objects im Rahmen der WebObjects.
Microsoft hat inzwischen die Weiterentwicklung ihrer DAO-Schnittstelle beendet und setzt stattdessen auf ADO als Nachfolgetechnologie.
[Bearbeiten] Weblinks
- http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html – Ausführliche Erklärung des DAO Design Patterns (Englisch)