Cual es la diferencia entre DTO y DAO? o son lo mismo?
Cual es la diferencia entre DTO y DAO? o son lo mismo?
Hola, arnaldo1ooo95. Como estás?
El DTO es un estándar que nos ayuda en la exposición de los datos para el retorno de una API, o para montar el contenido de una página. DTO viene de Data Transfer Object y su objetivo es darnos más seguridad para la aplicación por no estar exponiendo las informaciones de nuestras entidades (imagina si devolvemos para la pantalla todas las informaciones sensibles de un usuario, como su username y contraseña). Y también tenemos más flexibilidad, porque podemos combinar informaciones de otras entidades para entregar contenidos más completos para el cliente.
Ya el DAO es un estándar que tiene como finalidad centralizar la responsabilidad de acceso a la capa de datos, el modelo. DAO viene de Data Access Object y esta capa es la que realiza la conexión con la fuente de información. Sea una base de datos SQL, NoSQL, cache, archivo...
Se suele centralizar, en estas clases DAO, la responsabilidad sobre una sola entidad. Entonces si en tu aplicación tienes una entidad de Usuario
, una de Producto
y una para definir la Compra
. Vamos a tener tres clases DAO, UsuarioDAO
, ProductoDAO
y CompraDAO
. Cada una con su responsabilidad y lógica para acceder los datos sobre una entidad.
Espero haberte ayudado.
Saludos
Excelente explicación, muchas gracias!