Want to create interactive content? It’s easy in Genially!

Get started free

Semana 8 - DAO

DAV

Created on July 30, 2021

Start designing with a free template

Discover more than 1500 professional designs like these:

Puzzle Game

Scratch and Win

Microlearning: How to Study Better

Branching Scenarios Challenge Mobile

Branching Scenario Mission: Innovating for the Future

Piñata Challenge

Teaching Challenge: Transform Your Classroom

Transcript

Data Access Object (DAO)

Patrón de diseño DAO

Es un patrón estructural que permite separar la capa de negocio de la de persistencia.

La idea es esconder todas las complejidades de operaciones como insertar, modificar, eliminar y consultar. Por ejemplo, en una base de datos.​

El desacoplamiento que logra permite que un aplicativo pueda ser agnóstico del motor de base de datos que se use como SQL Server, MySQL, Postgres, entre otros.

Esquema DAO. Fuente: https://i.ytimg.com/vi/ui01Li4vqDc/maxresdefault.jpg

Patrón de diseño DAO

Un aplicativo consume interfaces DAO que tiene los métodos para crear leer, actualizar y eliminar un objeto.

La interfaz DAO se implementa en una clase que tiene el código para leer, actualizar y eliminar un objeto en una base de datos específica.​ Para esto se apoya en las entidades definidas en el aplicativo.

En caso que necesite transferir información en una estructura diferente a las clases definidas, se puede crear una DTO.

forma 2

forma 1

Formas de implementar DAO

Esquema DAO. Fuente: https://jossjack.files.wordpress.com/2014/06/dao.jpg?w=597&h=308

Forma 1 de implementación DAO

Se crea una clase DAO por cada clase de datos. A su vez cada clase DAO debe tener una interfaz DAO para evitar el acoplamiento (dependencia del aplicativo a la clase DAO)

Imágenes extraídas de https://www.programmergirl.com/java-dao-pattern/

Forma 2 de implementación DAO

Se puede usar solo una interfaz con tipo de dato genérico. Normalmente se usa una interfaz por cada Clase DAO.

Imágenes extraídas de https://www.baeldung.com/java-dao-pattern