[[oktatas:web|< Web]] ====== DTO ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Bevezetés ===== 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. ===== Szűrés ===== 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; } ===== Egyesítés ===== 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; } ===== Függelék ===== ==== Egyéb példák ==== class Order { String OrderNo; int NumberOfItems; int TotalAmount; Customer Customer; } class Customer { int CustomerId; String FullName; String Postcode; String ContactNo; }