Zum Inhalt springen

Data Access Object

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 11. Juli 2007 um 16:05 Uhr durch Pepe Roni (Diskussion | Beiträge) (Artikel korrigiert. Sollte so eigentlich vollständig sein.). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Data Access Object (DAO, deutsch „Datenzugriffsobjekt“) ist ein Entwurfsmuster, das den Zugriff auf unterschiedliche Arten von Datenquellen (z. B. Datenbanken, Dateisystem, etc.) so kapselt, dass die angesprochene Datenquelle ausgetauscht werden kann, ohne den aufrufenden Code zu ändern. Dadurch soll die eigentliche Programmlogik von technischen Details der Datenspeicherung befreit und flexibler einsetzbar werden. Daher ist ein DAO im Grunde eine Schnittstelle (API). Wenn eine Programmiersprache keine Trennung von Schnittstellen-Definition und -Implementierung ermöglicht muss ein DAO die definierte Schnittstelle unmittelbar implementieren.

DAOs sind keine weitere Datenbankabstraktion.

DAOs sind jeweils für ein spezielles Speichermedium optimiert. Der Zugriff auf das Persistenzmedium wird über die vom DAO vorgegebene bzw. zu implementierende API vorgenommen.

DAOs minimieren den Portierungsaufwand einer Anwendung beim Wechsel des Speichermediums.

Anwendungsbeispiele

Das Muster findet sich auch im J2EE-Umfeld und in der Microsoft-Welt (MFC). Apple liefert ein ähnliches Konzept namens Enterprise Objects im Rahmen der WebObjects.

Microsoft hat inzwischen die Weiterentwicklung ihrer DAO-Schnittstelle beendet und setzt stattdessen auf ADO als Nachfolgetechnologie.