Domanda

Lo so DTO è un oggetto di trasferimento dati e una BO è un oggetto di business. Ma, che cosa significa realmente? Quando devo scegliere uno sopra l'altro? Da, quello che ho capito DTO è solo utilizzato per trasferire dati e non ha la logica di business. Questo significa che un DTO non ha alcun metodo uniche proprietà (getter e setter)? Ma, ha ancora proprietà di un BO. Qualcuno può spiegare? Grazie.

È stato utile?

Soluzione

DTO viene utilizzato per il trasferimento di dati tra layer / livelli. A tal fine non ha bisogno di alcun methos ea volte anche non dovrebbe avere alcun metodo - per esempio quando DTO è esposto nel corso di servizi web.

Business oggetto è oggetto intelligente che contiene dati e metodi che le operazioni Esegue (dati cambia) su questo oggetto. Quando si espone BO al livello superiore, si può chiamare i metodi pubblici del vostro oggetto. A volte non si vuole questo e per questo motivo si crea DTO che solo le offerte dati, ma non i metodi.

DTO non ha per il trasporto di tutti i dati BO. Quando seguite rigoroso approccio DTO si crea DTOs specifici per ogni operazione esposto sul vostro livello di business. Ad esempio se il vostro oggetto ha dati di audit come CreatedBy, ModifiedBy, CreatedDate, ecc e si sta creando il vostro metodo Update in entrata DTO (con oggetto aggiornato) non ha bisogno di avere queste proprietà perché strato superiore non li può modificare - solo per le imprese logica può .

Altri suggerimenti

Generalmente, DTO ha dati statici relativi per quel momento prima arrivano livello, ma può BO dinamicamente mantenere lo stato e portata valore bandiera; e BO potrebbe anche essere autonomo avere la convalida o logicamente riorganizzazione o di giudizio per un po 'la logica di business; ma DTO 'cambiamento s dipende dal livello' s modifica dei dati che passavano sopra ... Ma, i cambiamenti di Bo ha portata più ampia, ad esempio, dipende più aggiornare in modo dinamico con lo stato del flusso di lavoro, flag 's cambiamento, anche l'identità potrebbe essere cambiato in tempo reale, questi supponiamo di essere catturato e ha agito in modo da riflettere da BO, ad esempio, come la bilancia da $ 200 diventato pari a zero, o l'equilibrio da $ 2000 a $ 5000, quindi l'affare / identità o lo stato cambierà commercio ... questo è grande differenza tra DTO e BO.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top