En el campo de la programación, un objeto de transferencia de datos ( DTO [1] [2] ) es un objeto que transporta datos entre procesos. La motivación para su uso es que la comunicación entre procesos se suele realizar recurriendo a interfaces remotas (por ejemplo, servicios web), donde cada llamada es una operación costosa. [2] Debido a que la mayor parte del costo de cada llamada está relacionado con el tiempo de ida y vuelta entre el cliente y el servidor, una forma de reducir la cantidad de llamadas es usar un objeto (el DTO) que agregue los datos que han sido transferidos por varias llamadas, pero solo se atiende con una llamada. [2]
La diferencia entre los objetos de transferencia de datos y los objetos comerciales o los objetos de acceso a datos es que un DTO no tiene ningún comportamiento excepto el almacenamiento, recuperación, serialización y deserialización de sus propios datos ( mutadores , descriptores de acceso , analizadores y serializadores ). En otras palabras, los DTO son objetos simples que no deben contener ninguna lógica comercial, pero pueden contener mecanismos de serialización y deserialización para transferir datos a través del cable. [1]
Este patrón a menudo se usa incorrectamente fuera de las interfaces remotas. Esto ha desencadenado una respuesta de su autor [3] donde reitera que todo el propósito de los DTO es transferir datos en costosas llamadas remotas.
Terminología
Un objeto de valor no es un DTO. Los dos términos han sido combinados por la comunidad Sun / Java en el pasado. [2]
Referencias
- ↑ a b MSDN (2010). Objeto de transferencia de datos. Biblioteca de Microsoft MSDN . Obtenido de https://msdn.microsoft.com/en-us/library/ms978717.aspx .
- ↑ a b c d Fowler, Martin (2010). Objeto de transferencia de datos. Patrones de arquitectura de aplicaciones empresariales. Obtenido de http://martinfowler.com/eaaCatalog/dataTransferObject.html .
- ^ LocalDTO. Obtenido de http://martinfowler.com/bliki/LocalDTO.html .
enlaces externos
- Resumen del libro de Fowler
- Objeto de transferencia de datos: Microsoft MSDN Library
- GeDA - ensamblador genérico de dto es un marco Java de código abierto para soluciones de nivel empresarial
- DTO local