> For the complete documentation index, see [llms.txt](https://sorodriguezz.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sorodriguezz.gitbook.io/docs/patrones/patron-dto-vs-patron-dao.md).

# Patrón DTO vs Patrón DAO

Documento que explica la diferencias entre DTO y DAO

## Explicación teorica

### Data Transfer Object (DTO)

Se utiliza principalmente para transferir datos entre software componentes o capas.

<mark style="color:purple;">Simplicidad</mark>: Sirven únicamente para el *transporte de datos*, sin contener lógica de negocio o comportamiento complejo.

<mark style="color:purple;">Planos</mark>: Poseen propiedades básicas y accesibles a través de métodos simples como getters y setters.

<mark style="color:purple;">Serializables</mark>: Pueden ser transformados a formatos como JSON o XML para su transmisión entre procesos o servicios.

### Data Access Object (DAO)

Componente de software que proporciona una interfaz abstracta para algún tipo de base de datos o mecanismo de *persistencia*.

<mark style="color:purple;">Abstracción</mark>: Separan las operaciones de la base de datos de la lógica de negocio.

<mark style="color:purple;">Encapsulamiento</mark>: Centralizan el acceso a datos, ocultado los detalles de la base de datos.

<mark style="color:purple;">Reusabilidad y Mantenibilidad</mark>: Promueven la eficiencia al gestionar los datos, facilitando actualizaciones y mantenimiento.
