quelli che chiamate DTO sono entità in ORM. Di solito fanno parte di un modello di dominio che contiene la logica aziendale e contengono la maggior parte delle volte più dati di quanto è necessario per il rendering delle singole visualizzazioni. La mia regola personale empirica
Utilizzare entità in Vista quando non c'è strato di trasferimento tra il DAL e la vista e c'è poco logica di business:
- Vantaggi:
- un modello
- non è necessario eseguire la mappatura tra i modelli
- più facile utilizzo del caricamento lazy
- Svantaggi:
- ogni cambiamento del modello significa cambiamento dei punti di vista
- molti disadvatages con strato di trasferimento vedi sotto
Mappa coloro ai DTOs quando c'è uno strato di trasferimento e/o il viewdata differisce dalle entità o aggrega molte entità diverse
- Vantaggi:
- DTOs/vista non dovete cambiare quando ci sono modifiche ai modelli
- evitare l'invio di enti sopra il filo che ha un sacco di problemi (eccezioni pigro carico, molti dati non necessari inviati, esporre informazioni sensibili,. ..)
- Il modello ha meno responsabilità (serializzazione) che ne semplificano il riutilizzo (ad es. elaborazione backend)
- Svantaggi:
- più classi di scrivere
- codice da tradurre entità a DTOS
DTO e oggetti valore sono la stessa cosa. DTO significa * Oggetto di trasferimento dati *. Un oggetto Hibernate persistente è chiamato * entità *. –