A DTO a Data Transfer Object rövidítése. Objektum, aminek általában csak adattagjai vannak, beállító és lekérdező metódusokkal, más logika nélkül, esetleg compare()vagy equals() megvalósítás.
Akkor használjuk, ha adatokat szeretnénk átvinni szoftverrétegek között. Használhatjuk arra, hogy többféle osztályból származó adatokat egyetlen osztályban adjunk át, vagy csak a szükséges adatokat adjuk át, vagy számított adatokat adjunk át.
Gyakran használatos Backend programozásban a végpontok összeállításánál.
class Employee { int id; String name; String city; String address; double salary; } /* Az address és a salary érzékeny adatok, nem szeretnénk átadni, ezért ezen keresztül adjuk át az adatokat. */ class EmployeeDTO { int id; String name; String city; }
class Employee { int id; String name; String city; } class Vages { int id; double salary; id employeeId; } /* A kevesebb kapcsolat érdekében egyben szeretnék átvinni az adatokat. Ezért a következő objektumot használjuk. */ class EmployeeDTO { int id; String name; String city; double salary; }