[[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;
}