Data Transfer Object
Data Transfer Object (DTO, deutsch: „Datentransferobjekt“) ist ein Entwurfsmuster, das Datenbank-Tabellen-Zeilen so kapselt, daß kein direkter Zugriff auf implementierungsspezifische Details nötig/möglich sind. Der Zugriff auf die Spalten einer Zeile geschieht mit get-Methoden (z.B.: getId(), getName(), ...). Dadurch ist es möglich, die Repräsentation der Daten nach außen hin einheitlich zu gestalten ohne die genauen Implementierungsdetails wissen zu müssen.
Die eigentliche Programmlogik soll von technischen Details der Datenabfrage (Query) befreit und flexibler einsetzbar werden. Daher ist ein DTO im Grunde eine Schnittstelle (API). Wenn eine Programmiersprache keine Trennung von Schnittstellen-Definition und -Implementierung ermöglicht muss ein DTO die definierte Schnittstelle unmittelbar implementieren.
DTOs sind keine weitere Datenbankabstraktion.
Der Zugriff auf das Persistenzmedium wird über die vom DAO vorgegebene bzw. zu implementierende API vorgenommen.