Data Access Object

Software-Entwurfsmuster
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 5. November 2009 um 19:32 Uhr durch BenzolBot (Diskussion | Beiträge) (Bot: Ändere: ru:Data Access Object; kosmetische Änderungen). 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 dass der aufrufende Code geändert werden muss. Dadurch soll die eigentliche Programmlogik von technischen Details der Datenspeicherung befreit werden und flexibler einsetzbar sein. DAO ist also ein Muster für die Gestaltung von Programmierschnittstellen (APIs). Wenn eine Programmiersprache keine Trennung von Schnittstellendefinition und -Implementierung ermöglicht, muss ein DAO die definierte Schnittstelle unmittelbar implementieren.

  • DAOs führen keine Datenbankabstraktion durch.
  • DAOs sind jeweils für ein spezielles Speichermedium optimiert. Der Zugriff auf dieses Medium wird über das 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. Apple liefert ein ähnliches Konzept namens Enterprise Objects im Rahmen der WebObjects.