DTO e AutoMapper

Giuro che non vivo di soli DTO (Data Trasfer Object), ma dopo l’ultimo post, su consiglio di Matteo, mi sono messo a dare un occhio ad AutoMapper, ossia una libreria che semplifica la parte di “trasbordo” dei dati da una classe ad un’altra.

Dopo un primo sguardo le potenzialità  sembrano ottime, ed è molto interessante come hanno implementato la parte di mapping anche per entità e grafi di DTO complessi e non.
I mapping possibili sono diversi:

L’unico neo sono le performances. Come già detto nel post precedente (in realtà è stato detto praticamente da tutti) la Reflection non gode di una fama velocistica, e questa libreria ne fa uso per idratare le entities.

Dopo un veloce sguardo al codice sorgente ho sostituito con estrema facilità la parte in cui si faceva uso della Reflection con la parte utilizzata nel mio snippet precendete, per iniettare IL a runtime.
Il risultato è sbalorditivo, tutte le ottime potenzialità di questa libreria con le performances dell’IL.

Ovviamente ho segnalato la cosa al Team, che gode della presenza di Jeffrey Palermo, e che ha accolto la richiesta e sta analizzando come e quando integrare questo tipo di approccio.

Ciauz


Comments