Un DTO può avere metodi di istanza che restituiscono valori derivati?
-
20-09-2019 - |
Domanda
È mai accettabile che un DTO abbia metodi di istanza che restituiscono valori derivati in base ai dati del DTO?Oppure i DTO dovrebbero essere puri contenitori di dati senza metodi aggiuntivi (diversi da getter/setter)?
Il purista che è in me dice che è fin troppo facile che la logica aziendale si insinui in tali metodi.Tuttavia, se (ad esempio) un DTO è condiviso tra i livelli dell'applicazione, allora forse è opportuno avere tali metodi nel DTO.
Qual'è il tuo punto di vista?Ci sono mai situazioni in cui è accettabile o questo genere di cose dovrebbe essere evitato?E perché/perché no?
Soluzione
I DTO non dovrebbero avere comportamenti, sono semplici contenitori per il trasporto di dati attraverso i confini del processo e dovrebbero essere costituiti solo da setter/getter.
Dovrebbe essere evitato a tutti i costi altrimenti verrebbe interpretato come un’errata applicazione del modello DTO.