LLevo 4 videos de DTO y sinceramente con un par de minutos del tuyo ya me ha quedado más claro que con el resto. Además el ejemplo sencillo pero correcto para entenderlo. MUCHAS GRACIAS.
Excelente vídeo Manuel, muchas gracias. Excelente práctica el no implementar lógica de actualización o eliminado dentro del mapper sino dejarla directamente en los servicios. Buen día.
I know Im randomly asking but does someone know of a trick to get back into an instagram account..? I was dumb forgot my password. I love any tricks you can give me!
Muy Bueno! Un caso donde si o sí aconsejo usar Dtos es los controllers de una api! tanto las entradas como salida son objetos planos serializables y no el modelo de dominio. Por lo general yo uso el modelo de dominio privado y expongo los contratos de servicios de dominio como DTOs por ende mis controllers o servicios via RPC ya están mapeados y serializables (DTOs). Saludos
¡Muy buen video! Me llevo la idea de dejar DTOs y Mappers en proyectos separados. Y también ampliar más el API para retornar DTOs cuando la vista lo amerita, para hacer más liviano el cliente. Cae muy bien cuando el API es muy orientado a acciones o tareas en lugar de a entidades.
Exacto! En ese caso que mencionas los DTO son perfectos porque los acomodas a lo que el proceso requiere. No hay que forzar ninguna entidad para que “calce”.
@@edwardlinares Yo tambien me llevo esa idea, siempre uso DTOs en contrato del servicio de dominio (no expongo entidades de dominio sinó DTOs) ahora si hago proyectos aparte no llego a visualizar como quedaría. Pero lo voy a tener en cuenta para proxima implementación. Digo, no se como funcionaria en mis diseños ya que las entidades a mapear no estan publicas como para llevar esa logica a otro proyecto. Tendría que analizarlo.
Excelente, No estoy tan perdido. pertenezco al mundo de las aplicaciones empresariales ERP y expongo su lógica y datos con DTOs para integraciones usando Web APIs , el automapper es uno de mi favoritos. seria buenisimo si me ayudaras con alguna referencia para poder hacer estas APIs con mejor arquitectura, me toca aprender a separar mejor los proyectos.
Excelente Manuel, que pena no se cuentas con algún vídeo de las menores prácticas para la organización de un proyecto .net y el usos de paquetes y nugets es algo de lo que se habla mucho pero importante
Muy bien explicado, hasta ahora no entendía bien como plantear un DTO, muchas gracias capo. Podrias hacer un video explicando paso a paso cómo serializar un objeto.
Con gusto Franco! Si estás trabajando en C#, te recomiendo que busques en el canal hdeleon.net. Es posible que allí encuentres algo al respecto. Saludos!
Muy buena info y Excelente explicacion, gracias. Los uso a los DTO en C# y sinceramente son muy utiles. Me gustaria saber mas de Automapper..... Saludos
Si he utilizado antes los DTO, pero la verdad no le hallaba mucho sentido. Ya con tu genial explicación queda claro y ya entendiendo bien para que sirven y sus bondades, con mucha seguridad ya los empezaré a utilizar. Gracias por compartir.
Pregunta, al utilizar el acceso a las listas en el metteingdto no está ejecutándose una consulta quitando la responsabilidad única? Por lo que veo se utiliza EF.
Hola Manuel,Mi historia con los DTOs empezo cuando lei de ellos en un libro de arquitectura java,pero los he usado en su mayoria con php(Laravel). Desconocia de las librerias que mencionas al ultimo.Les dare un vistazo. Muy buenos temas en el canal. Saludos.
he encontrado proyectos donde utilizan también objetos ViewModel que se encontraban en el lado de cliente (MVC C#) es buena practica utilizar DTOs junto con las clases ViewModel?
Como desarrollador web no puedo evitar relacionar esto con las API REST, como si éstas hicieran la función de un DTO. ¿Es válido verlo de esa forma? Porque cuando se requiere un reporte, el endpoint de la API devolvería solo los datos necesarios para el reporte. En todo caso se podría ver como que algunos endpoints de una API REST pueden funcionar como DTOs ya que en otros casos es una copia de la entidad tal cual. Corrígeme si no estoy en lo correcto y gracias por el video.
Hola maestro gracias por tu video, muy bueno. Una duda, Si tengo varias DTOs para una misma entidad "SalesMan", que muestran informacion distinta, por ejemplo, Un DTO para mostrar ID, Nombre y Fecha, y otro DTO para mostrar NroOficina, Departamento. ¿Cual seria la convencion para nombrar esas clases DTOs para diferenciarlas?
Hola, una consulta ,El DTO facilita el trabajo al frontend ya que no va a tener que hacer muchas solicitudes sino que con una sola consulta ya podra mostrar en pantalla la informacion, caso contrario al backend que el tiene que realizar todas esa logica :?
Yo no entiendo cómo no te encontré antes. Excelente video y explicación. Me estaba costando comprender este tema de los DTO y los Mappers. Creo haber entendido que la finalidad de un Mapeador es convertir un DTO a Entity o viceversa ya que, generalmente, nosotros no exponemos Entidades en nuestros Rest al Cliente, sino que exponemos DTO's por una cuestión de seguridad, cierto?. Ahora, la conversión de un DTO a Entity es porque al exponer un DTO al Cliente, allí es done por ejemplo "llenan un formulario con datos" y para poder almacenar esa info en la BD si o si debemos hacer la conversión de ese DTO a Entity para actualizar o guardar esos datos, cierto?. Es decir, si no existiera el mapeador, esos datos quedarian "flotando" no pudiendose almacenar en ningún lado, correcto?
Muchas gracias por este gran video. Agradezco una consulta. ¿DTO sería equivalente a aplicar el patrón CompositeEntity en la capa de persistencia, o qué diferencias tienen? Gracias.
Hola Martín. Honestamente, no sabia que te referías con Composite Entities hasta qyue busqué el concepto. Un DTO no es lo mismo. Es algo mucho más genérico.
Excelente Manual, yo utilizo orika y dozer en Java pero siempre he tenido la duda si utilizar un mapper puede ser menos eficiente en cuanto a rendimiento que hacerlo manualmente . Saludos
Hola , sabes como podria hacer si yo tengo 2 objetos, el primero es Estudiante con codigo, Nombre , apellido, nota , usuarioregistro y usurioActualizo (Este primero tiene los 3 valores) y el segundo solo tiene codigo, nota y usurioActualizo, se me origino este problema debido a que cuando envio los datos del objeto con menos parametros , mi objeto origen pierde los datos de usuarioregistro , nombre y apellido.(Se me origino ya que yo deseo actualizar ese registro por entity y obviamente al actualizar me registra los otros como null :C , me ayudarias mucho respondiendo ojo que es un ejemplo parecido al que tengo ) Saludos.
Osea el DTO por ejemplo te serviria para crear una tabla con detalle de ventas donde esta el igv, la cantidad, precio de descuento, etc. Cosas que no estan directamente en la base de datos si no ya cuando es procesada la informacion. ? Este podria ser uno de los usos de los dtos?
Este concepto de DTO es el resultado de Store Procedure con resultados equivalentes y que puede ser probado de la DB. Porque no se encuentran ejercicios y/o ejemplos con SP ?
Se podría aplicar con procedimientos almacenados sin ningún problema. Por qué no se encuentran ejemplos con SP? Supongo que por el origen del concepto. Esto lo ves más fácilmente en lenguajes como Java o C#, pero no significa que no aplique a otros ambientes.
Lo he usado para un proyecto que tengo, vos sabés que al Mapper lo conocía como Converter en otras fuentes, es bueno saber si nombre original, más si es Martin Fowler. Ah y uso una clase abstracta que implementa la conversión de las listas de dto y entidades y delego a las concretas que implementen su mapeo. Saludos.
Hola Manuel, muchas gracias por compartir, si lo uso en c# y vb .NET, la duda que me queda en el ejemplo mostrado del mapeador no deberías controlar la entidad si es null ???
Yo no estoy asiendo servicios rest pero necesito muchas veces serializar las entidades que me trae el EntityFramework, pero cuando se actualiza alguna tabla del EF se me actualiza todo y se me pierde la anotacion de serializable en las clases, hay alguna manera de solucionar esto o deberia usar DTO?. Muchas gracias.
Hola Manuel. Una duda un repositorio se entendería como un servicio?. Cuales son los límites que definen a un servicio? El servicio es una estructura formalmente definida en UML?
El DTO es perfecto para implementarlo en proyectos no muy grandes y más si no vas a documentar algo así con swagger (que en base al objecto de entrada y de salida forma su mensajería). Pongamos el caso que utilizamos un DTO para 4 endpoint diferentes y un día se nos da la gana de querer monetizar nuestra API y decidimos implementarle swagger, nuestro cliente verá un montón de variables de entrada y de salida (ya que serán estos DTO), y no sabrá qué sobra y qué no.... sin hablar que por parte del código esto se vuelve insostenible en el tiempo, al tener una entidad que no sabremos cuando ocupa cierto atributo y cuando no (debido a que es muy genérico).
Yo crearía de igual forma un DTO. Con eso me aseguro que el objeto de dominio no salga de la capa de acceso a datos. Alguna veces esto es necesario porque no siempre el objeto de dominio es serializable. Esto me ocurre en un proyecto en Python en que estoy trabajando.
Buenaso, gracias por el video, es normal tener varios DTOs para una entidad? Estoy construyendo una API REST y al hacer un GET no quiero tener el id de la entidad, pero para el POST si lo necesito, Entonces crearía dos DTOs?
Hola Cliber. Por supuesto. Ese es un enfoque válido: tener varios DTOs por entidad. Ese es el trade-off que menciono en el video debes balancear. Tienes un DTO grande con muchas propiedades, o DTOs pequeños con solo las propiedades específicas del caso.
Excelente explicación Manuel, una opción para el Mapeo pudiera ser el uso de Generics ? en vez delegar en otra librería esta responsabilidad ? Saludos.
Yo siempre he pensado que las entidades deben de quedarse en la capa de acceso a datos y por ejemplo en un API lo que debemos exponer es un DTO ya sabes eso de SRP
Trabajar de esa manera con el tiempo el código se acopla muy fácilmente y duplicas mucho código, es mejor tener proyecciones de la información al contexto que lo requiera...
LLevo 4 videos de DTO y sinceramente con un par de minutos del tuyo ya me ha quedado más claro que con el resto. Además el ejemplo sencillo pero correcto para entenderlo. MUCHAS GRACIAS.
Mereces 10 veces la cantidad de suscriptores que tienes. Gracias por tu trabajo.
Gracias Sebas por esas palabras! 💪
Como..yo.kisi3ra..aser.todo.mlño.k.me.pifen.pero.no.puedo.ayudenme.pa el a
Resibir.dinero.emmi.
.teléfono.gracias.
😊😅
5 minutos y ya me solucionaste el problema, gracias loco
Gracias! Saludos desde Argentina!
No solo me ha parecido útil la información sino que la forma de explicar y presentar es muy acertada. Gracias por la información 😃
Excelente vídeo Manuel, muchas gracias. Excelente práctica el no implementar lógica de actualización o eliminado dentro del mapper sino dejarla directamente en los servicios. Buen día.
I know Im randomly asking but does someone know of a trick to get back into an instagram account..?
I was dumb forgot my password. I love any tricks you can give me!
@Forrest Lyric instablaster =)
@@forrestlyric6378 we're glad dude.
Excelente video, deja muy claro el concepto de un DTO y su responsabilidad... Lo confundía con un VO, pero ahora todo está más claro.
Excelente Jhon Fredy! Y por cierto, gracias por hacerte miembro Singleton! 🙌
Excelente video Manuel! Muchas gracias por compartir tu conocimiento
Gran video. Voy a compartirlo para que suba la popularidad de este canal. El contenido es excelente.
Muy buen video, excellente manera de explicar el por que del DTO con un ejemplo, MUCHISIMAS GRACIAS.
Ha sido un gusto Armando
Excelente ejemplo, usamos estos mapper mucho en servicios rest en la empresa donde laboro. Saludos cordiales.
Excelente! Saludos Julio.
Tengo su canal en mis favoritos, complementa a mi auto aprendizaje de Ingeniería de Software.
Genial Mauricio. Muchas gracias!
Excelente video, yo uso automapper y cuando parece que ya lo dominas un poco mas, siempre terminas aprendiendo algo nuevo. Saludos y éxitos!
Excelente explicacion y ejemplificación
Muy Bueno!
Un caso donde si o sí aconsejo usar Dtos es los controllers de una api! tanto las entradas como salida son objetos planos serializables y no el modelo de dominio.
Por lo general yo uso el modelo de dominio privado y expongo los contratos de servicios de dominio como DTOs por ende mis controllers o servicios via RPC ya están mapeados y serializables (DTOs).
Saludos
Increíble información, muchas gracias! Gran trabajo!
Gracias Jean!
¡Muy buen video! Me llevo la idea de dejar DTOs y Mappers en proyectos separados. Y también ampliar más el API para retornar DTOs cuando la vista lo amerita, para hacer más liviano el cliente. Cae muy bien cuando el API es muy orientado a acciones o tareas en lugar de a entidades.
Exacto! En ese caso que mencionas los DTO son perfectos porque los acomodas a lo que el proceso requiere. No hay que forzar ninguna entidad para que “calce”.
@@edwardlinares Yo tambien me llevo esa idea, siempre uso DTOs en contrato del servicio de dominio (no expongo entidades de dominio sinó DTOs) ahora si hago proyectos aparte no llego a visualizar como quedaría. Pero lo voy a tener en cuenta para proxima implementación. Digo, no se como funcionaria en mis diseños ya que las entidades a mapear no estan publicas como para llevar esa logica a otro proyecto. Tendría que analizarlo.
Mapster es espectacular y sencillo!
Me gusto como explicaste el tema y la organizacion del video con el indice de los mismos. Muchas gracias.
Genial @cmm! Es una funcionalidad reciente de UA-cam para organizar el video.
Que buena explicación!
Super entendible maes!
Gracias por compartir tu conocimiento, excelente vídeo.
Excelente! yo utilizo mapstruct en Java para los mapeos
Excelente explicación, gracias.
Super cool. Gracias!
Excelente, No estoy tan perdido. pertenezco al mundo de las aplicaciones empresariales ERP y expongo su lógica y datos con DTOs para integraciones usando Web APIs , el automapper es uno de mi favoritos. seria buenisimo si me ayudaras con alguna referencia para poder hacer estas APIs con mejor arquitectura, me toca aprender a separar mejor los proyectos.
Excelente Manuel, que pena no se cuentas con algún vídeo de las menores prácticas para la organización de un proyecto .net y el usos de paquetes y nugets es algo de lo que se habla mucho pero importante
Ese es un muy buen tema, Enrique. Lo anoté en mi backlog de ideas de contenido :)
@@ManuelZapata apoyo la idea, también seria bueno para spring boot, saludos.
Muy bien explicado, hasta ahora no entendía bien como plantear un DTO, muchas gracias capo. Podrias hacer un video explicando paso a paso cómo serializar un objeto.
Con gusto Franco! Si estás trabajando en C#, te recomiendo que busques en el canal hdeleon.net. Es posible que allí encuentres algo al respecto. Saludos!
Hola Manuel. Porque no se usa el dto directamente al interactuar con bd en lugar de usar una entidad? que aporta la entidad?
Muy buena info y Excelente explicacion, gracias. Los uso a los DTO en C# y sinceramente son muy utiles. Me gustaria saber mas de Automapper..... Saludos
Con gusto. Saludos Gaston!
Hermano, muchisimas gracias por la info. Eres un crack explicando. Salu2 desde México.
Muchas gracias Manuel , excelente vídeo
Con mucho gusto West! 🙌
Excelente video, muy bien explicado. Saludos
Muy buen video!! Saludos desde Argentina
Gracias Guillermo!
Vídeo muy interesante, gracias.
Si he utilizado antes los DTO, pero la verdad no le hallaba mucho sentido. Ya con tu genial explicación queda claro y ya entendiendo bien para que sirven y sus bondades, con mucha seguridad ya los empezaré a utilizar.
Gracias por compartir.
De eso se trata Carlos, de entender el trasfondo de estos patrones y cuando tiene sentido usarlos 🙌
Pregunta, al utilizar el acceso a las listas en el metteingdto no está ejecutándose una consulta quitando la responsabilidad única? Por lo que veo se utiliza EF.
Buen video 👍. Es claro, a pesar que un poco largo (innecesariamente)
Hola Manuel,Mi historia con los DTOs empezo cuando lei de ellos en un libro de arquitectura java,pero los he usado en su mayoria con php(Laravel). Desconocia de las librerias que mencionas al ultimo.Les dare un vistazo. Muy buenos temas en el canal. Saludos.
Excelente Leonardo! Esa es la idea de estos videos. Que despierten la curiosidad por profundizar en los temas.
he encontrado proyectos donde utilizan también objetos ViewModel que se encontraban en el lado de cliente (MVC C#) es buena practica utilizar DTOs junto con las clases ViewModel?
Como desarrollador web no puedo evitar relacionar esto con las API REST, como si éstas hicieran la función de un DTO. ¿Es válido verlo de esa forma? Porque cuando se requiere un reporte, el endpoint de la API devolvería solo los datos necesarios para el reporte. En todo caso se podría ver como que algunos endpoints de una API REST pueden funcionar como DTOs ya que en otros casos es una copia de la entidad tal cual.
Corrígeme si no estoy en lo correcto y gracias por el video.
Se puede meter dto en el hexagonal a pesar q ya tiene modelo y entidad?
Hola maestro gracias por tu video, muy bueno. Una duda, Si tengo varias DTOs para una misma entidad "SalesMan", que muestran informacion distinta, por ejemplo, Un DTO para mostrar ID, Nombre y Fecha, y otro DTO para mostrar NroOficina, Departamento.
¿Cual seria la convencion para nombrar esas clases DTOs para diferenciarlas?
Carlos, yo creo que la mejor convención es la que te permita identificar fácilmente cuál es el propósito de cada uno.
¿Y los dto se usan al aplicar DDD? Según se ve, son independientes del paradigma.
Hola, una consulta ,El DTO facilita el trabajo al frontend ya que no va a tener que hacer muchas solicitudes sino que con una sola consulta ya podra mostrar en pantalla la informacion, caso contrario al backend que el tiene que realizar todas esa logica :?
Muy bien explicado, los DTO use mucho en mi ultimo proyecto y sin embargo el concepto no lo tenia muy claro.
Excelente... Sabes? he ido aprendiendo esto por separado porque me he encontrado con problemas y busco y busco y así voy resolviendo.
Muy buen video, cual es la diferencia que tiene con un ViewModel? Saludos
Te refieres a un ViewModel de MVVM?
Yo no entiendo cómo no te encontré antes. Excelente video y explicación. Me estaba costando comprender este tema de los DTO y los Mappers. Creo haber entendido que la finalidad de un Mapeador es convertir un DTO a Entity o viceversa ya que, generalmente, nosotros no exponemos Entidades en nuestros Rest al Cliente, sino que exponemos DTO's por una cuestión de seguridad, cierto?. Ahora, la conversión de un DTO a Entity es porque al exponer un DTO al Cliente, allí es done por ejemplo "llenan un formulario con datos" y para poder almacenar esa info en la BD si o si debemos hacer la conversión de ese DTO a Entity para actualizar o guardar esos datos, cierto?. Es decir, si no existiera el mapeador, esos datos quedarian "flotando" no pudiendose almacenar en ningún lado, correcto?
Hola buen día Manuel Zapata, muchas gracias, tienes vídeos sobre el patrón unit of work?
Aún no tengo videos de Unit of Work, Selvin!
los DTO tambien pueden ser Interfaces?
Muchas gracias por este gran video. Agradezco una consulta. ¿DTO sería equivalente a aplicar el patrón CompositeEntity en la capa de persistencia, o qué diferencias tienen? Gracias.
Hola Martín. Honestamente, no sabia que te referías con Composite Entities hasta qyue busqué el concepto.
Un DTO no es lo mismo. Es algo mucho más genérico.
Excelente Manual, yo utilizo orika y dozer en Java pero siempre he tenido la duda si utilizar un mapper puede ser menos eficiente en cuanto a rendimiento que hacerlo manualmente . Saludos
Yo creo que eso depende de la complejidad del mapeo, Oscar.
Hola , sabes como podria hacer si yo tengo 2 objetos, el primero es Estudiante con codigo, Nombre , apellido, nota , usuarioregistro y usurioActualizo (Este primero tiene los 3 valores) y el segundo solo tiene codigo, nota y usurioActualizo, se me origino este problema debido a que cuando envio los datos del objeto con menos parametros , mi objeto origen pierde los datos de usuarioregistro , nombre y apellido.(Se me origino ya que yo deseo actualizar ese registro por entity y obviamente al actualizar me registra los otros como null :C , me ayudarias mucho respondiendo ojo que es un ejemplo parecido al que tengo )
Saludos.
¿Alguien me puede explicar que sígnica poder serializar un objeto ? :(
lo que encuentro en internet me resulta algo confuso :'v
mira, listo
Osea el DTO por ejemplo te serviria para crear una tabla con detalle de ventas donde esta el igv, la cantidad, precio de descuento, etc. Cosas que no estan directamente en la base de datos si no ya cuando es procesada la informacion. ? Este podria ser uno de los usos de los dtos?
basicamente el DTO es una capa de abstraccion de la entidad(es)
Buenos días estimado Manuel, se puede decir que el Dto es como las vistas de la base de datos?
Qué significa o a qué hace referencia cuando habla de ¨dominio¨?
Este concepto de DTO es el resultado de Store Procedure con resultados equivalentes y que puede ser probado de la DB. Porque no se encuentran ejercicios y/o ejemplos con SP ?
Se podría aplicar con procedimientos almacenados sin ningún problema. Por qué no se encuentran ejemplos con SP? Supongo que por el origen del concepto. Esto lo ves más fácilmente en lenguajes como Java o C#, pero no significa que no aplique a otros ambientes.
Excelente explicación, la mejor diría yo. Muchas gracias por compartir tu conocimiento.
Gracias por tus palabras, Antonio!
Lo he usado para un proyecto que tengo, vos sabés que al Mapper lo conocía como Converter en otras fuentes, es bueno saber si nombre original, más si es Martin Fowler. Ah y uso una clase abstracta que implementa la conversión de las listas de dto y entidades y delego a las concretas que implementen su mapeo.
Saludos.
Excelente lo de la clase abstracta, Maximiliano! De casualidad también le pones genéricos para indicar el tipo de los DTO y de las entidades?
@@ManuelZapata No tengo el código pero creo que si Mapper en java
los DTO si , en PHP, pero no sabía que esa técnica tenía una termino
Hola Manuel, muchas gracias por compartir, si lo uso en c# y vb .NET, la duda que me queda en el ejemplo mostrado del mapeador no deberías controlar la entidad si es null ???
Hola Miguel. Tienes razón. Habría que validar la entidad. Saludos!
Yo no estoy asiendo servicios rest pero necesito muchas veces serializar las entidades que me trae el EntityFramework, pero cuando se actualiza alguna tabla del EF se me actualiza todo y se me pierde la anotacion de serializable en las clases, hay alguna manera de solucionar esto o deberia usar DTO?. Muchas gracias.
Ni idea como solucionarias el problema, Jhonny. Yo por lo general trato de no tocar clases generadas justamente por ese problema que mencionas.
Hola! muy buen video! ¿Hay alguna explicación en Python? Slds!!
La explicación es independiente del lenguaje, Agus. Te puedes apoyar en las data classes para implementarlos.
@@ManuelZapata Gracias!
Hola Manuel. Una duda un repositorio se entendería como un servicio?. Cuales son los límites que definen a un servicio? El servicio es una estructura formalmente definida en UML?
Un repositorio tiene la responsabilidad del acceso a datos. Un servicio puede tener múltiples significados dependiendo de la arquitectura.
El DTO es perfecto para implementarlo en proyectos no muy grandes y más si no vas a documentar algo así con swagger (que en base al objecto de entrada y de salida forma su mensajería). Pongamos el caso que utilizamos un DTO para 4 endpoint diferentes y un día se nos da la gana de querer monetizar nuestra API y decidimos implementarle swagger, nuestro cliente verá un montón de variables de entrada y de salida (ya que serán estos DTO), y no sabrá qué sobra y qué no.... sin hablar que por parte del código esto se vuelve insostenible en el tiempo, al tener una entidad que no sabremos cuando ocupa cierto atributo y cuando no (debido a que es muy genérico).
Gracias por el aporte, Gonzalo. Muy interesante. Deja varias cosas a analizar.
Excelente browwwww
🙌
Si dto termina siendo lo mismo que el objeto del dominio, hago que el API devuelva el objeto del dominio o creo un dto igual?
Yo crearía de igual forma un DTO. Con eso me aseguro que el objeto de dominio no salga de la capa de acceso a datos.
Alguna veces esto es necesario porque no siempre el objeto de dominio es serializable. Esto me ocurre en un proyecto en Python en que estoy trabajando.
Buenaso, gracias por el video, es normal tener varios DTOs para una entidad? Estoy construyendo una API REST y al hacer un GET no quiero tener el id de la entidad, pero para el POST si lo necesito, Entonces crearía dos DTOs?
Hola Cliber. Por supuesto. Ese es un enfoque válido: tener varios DTOs por entidad.
Ese es el trade-off que menciono en el video debes balancear. Tienes un DTO grande con muchas propiedades, o DTOs pequeños con solo las propiedades específicas del caso.
Gracias Manuel, saludos.
Dónde puedo encontrar un curso de analisis y diseño de sistemas?
Sabrán de alguna página?
Gracias!
Busca a Likecomtic en Udemy. Ellos tienen un curso de arquitectura de software.
@@ManuelZapata Muchas gracias, no eres egoista y hablas de otras plataformas, eres un verdadero informático!!
:)
Con todo gusto!
Un DTO hace lo mismo que los API Resources de Laravel?
Excelente explicación Manuel, una opción para el Mapeo pudiera ser el uso de Generics ? en vez delegar en otra librería esta responsabilidad ? Saludos.
El mapeador sería como una clase de utilidad, verdad?
Yo siempre he pensado que las entidades deben de quedarse en la capa de acceso a datos y por ejemplo en un API lo que debemos exponer es un DTO ya sabes eso de SRP
Exactamente Oscar! Coincido contigo.
u earn a sub mi amigo
Trabajar de esa manera con el tiempo el código se acopla muy fácilmente y duplicas mucho código, es mejor tener proyecciones de la información al contexto que lo requiera...
LIKE :D
llámenme loco, pero yo prefiero mapear mis entidades a mano sin hacer contextos con orm's
No estás loco, Carlos! Muy desarrolladores lo hacen así.
Yo abusé de los pobres DTO. Por eso, ahora odio hacer Mappers 😂😂
Jajaja suele pasar.
Confirmo que quité tu bigote con Photoshop, y quedas mejor sin bigote. Saludos desde medallo 😝