Los DTO y DAO no son exclusivos de las apps web: se usan en cualquier sistema con lógica estructurada donde se quiera separar responsabilidades. Conocerlos es clave para entender cómo se organizan proyectos profesionales.
Click aquí para una versión accesible de la infografía (apta para lectores electrónicos)
DAO vs. DTO
Son patrones comúnmente usados para separar responsabilidades en los sistemas organizados en capas (como MVC).
DTO (Data Transfer Object): es un objeto que transporta datos entre partes del sistema, sin lógica. Por ejemplo: para comunicar datos desde el backend al frontend.
Ejemplo (Java):
public class UsuarioDTO {
public String nombre;
public String email;
}
DAO (Data Access Object): es una clase que se conecta a la base de datos y sabe cómo guardar, leer o borrar datos. Permite aislar el acceso a la base de datos.
Ejemplo (Java con JDBC):
public class UsuarioDAO {
public Usuario buscarPorIr(int id) {
// consultar la BD
}
public void guardar(Usuario usuario) {
// guardar en la BD
}
}
El código del DAO suele adaptarse al ORM elegido para interactuar con la base de datos.