Antonio Esposito's


Prodotti tipici .NETtiani

DTO, questo sconosciuto

Ciao a tutti

I DTO (data transfer object) sono degli oggetti generalmente utilizzati per lo scambio di informazioni tra due o più tier della nostra applicazione distribuita.

Ricordiamo che: un tier è un componente distribuito che puo contenere uno o più layer logici ma che risiede su un altro sistema nei confronti degli altri layer che compongono la nostra applicazione. Es: un web fatto da front-end e back-end tipicamente ha 2 tier uno che gira si un server e l'altro su di un secondo server. Anche se si dovessero appiattire i due tier sullo stesso server fisico, poichè la comunicazione rimane si su di un protocollo di scambio di rete, saranno sempre due tier separati. Diversamente un layer è un insieme di classi e interfacce (eventualmente un namespace) che ha un compito a se stante. Es: il layer dati, il layer di presentation e altri...

Un DTO quindi è quell'oggetto che viene scambiato tra due tier, nell'esempio quello scambiato tra back-end e front-end, solitamente suddiviso tra request e response. In genere è usato per limitare l'accesso alla risorsa remota (il servizio ad esempio) perchè fornisce tutto l'elemento richiesto comprensivo delle entità a lui collegate a loro volta complete di tutti le loro property.

In Java spesso ci si riferisce ai DTO chiamandoli VO (value object).
Secondo Fowler invece, un VO è un oggetto value-type (una structure in .NET) che appunto differentemente da un DTO, benchè in genere di piccole dimensioni e popolato principalmente da property, essendo gestito come un value-type viene confrontato per i suoi valori e non per un identificativo come un ID che potremmo mettere nella classe Person. Un value object è quindi in genere un tipo di valore che possiamo avere, ad esempio un indirizzo definito come strada, numero, città e cap.... che non ha ID, ma è un valore composto, e che se confrontato per verificarne l'uguaglianza andremmo a verificare che tutte le sue proprietà siano uguali.

 

 

Categoria: Architettura
martedì, 23 feb 2010 Ore. 14.09
Statistiche
  • Views Home Page: 11.546
  • Views Posts: 60.306
  • Views Gallerie: 0
  • n° Posts: 44
  • n° Commenti: 16
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003