El patrón de diseño DTO, Data Transfer Object, es utilizado para transferir datos entre diferentes capas de una aplicación (por ejemplo, entre el backend y el frontend, o entre servicios). Su propósito principal es encapsular datos en un objeto simple, sin lógica de negocio, para facilitar la comunicación. Es un patrón seguro ya que no se expone la entidad completa de la base de datos. Tiene buen rendimiento porque solo se envían los datos necesarios. Es flexibilidad porque se puede adaptar el formato para el cliente. Tiene altoi desacoplamiento ya que los cambios internos no afectan al contrato externo.
Características de un DTO
Solo contiene datos (atributos/getters/setters).
No tiene lógica de negocio (no debe tener métodos complejos).
Es serializable (puede convertirse fácilmente a JSON, XML, etc.).
Se usa para optimizar la transferencia y evitar exponer entidades internas.