Zum Inhalt springen

Data Access Object

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 23. Februar 2007 um 13:51 Uhr durch Cecil (Diskussion | Beiträge) (-QS). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Data Access Object (DAO, deutsch „Datenzugriffsobjekt“) ist ein Entwurfsmuster, dass 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.

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.