DATA ACCES OBJECT (DAO)
DAO Reduce el
acoplamiento entre la lógica de negocio y la lógica de
persistencia. La lógica de negocio de aplicaciones a menudo necesita
objetos de dominio, que se conserva en cualquier base de datos, sistema de
archivos o cualquier otro medio de almacenamiento de persistencia.
Patrón DAO permite encapsular código
para realizar CRUD operación contra la persistencia del resto de la
aplicación. Lo que significa que cualquier cambio en la lógica de
persistencia no afectará a otras capas de la aplicación que ya está a
prueba. Patrón DAO permite la aplicación para hacer frente a cualquier
cambio en la base de datos o proveedor de tecnología de persistencia. Implementa
el mecanismo de acceso requerido para trabajar con el origen de datos. La fuente de datos puede ser un
almacenamiento persistente como un RDBMS, un servicio externo como un intercambio
B2B, un repositorio como una base de datos LDAP, o un servicio de negocio
acceder a través de CORBA.
Data Acces Object
extrae la aplicación de acceso a datos subyacente para el BusinessObject para
permitir un acceso transparente a la fuente de datos. El BusinessObject también delega la
carga de datos y operaciones.
BENEFICIOS
DAO o de acceso a los
datos patrón de diseño de objetos es buen ejemplo de la abstracción y la
encapsulación de principios orientados a objetos .
·
Se separa la lógica de persistencia es una capa
separada llamada Acceso a los datos capa que permite la aplicación
reaccione de forma segura sobre el cambio en el mecanismo de persistencia.
·
evitar la conexión a la base de datos para
ejecutar las pruebas.
·
Se basa en la interfaz,
traduce el código flexible y de calidad.
COMO FUNCIONA DATA
ACCES OBJETC
DAO encapsula el
acceso a la base de datos. Por lo que cuando la capa lógica de negocio necesite
interactuar con la base de datos, va a hacerlo a través de la API que le ofrece
DAO. Generalmente
esta API consiste en métodos CRUD (Create, Read, Update, y Delete). Entonces
por ejemplo cuando la capa de lógica de negocio necesite guardar un dato en la
base de datos va a llamar a un método créate(). DAO Consiste básicamente en una
clase que es la que interactúa con la base de datos.Los métodos de esta clase
dependen de la aplicación y de lo que queramos hacer.
·
BusinessObject: Es
el objeto que quiere acceder a la fuente de datos para poder almacenar o
consultar datos.
·
DataAccessObject:
Abstrae al BusinessObject de los detalles del acceso a la fuente de datos.
·
DataSource: Representa la
implementacion de la fuente de datos en sí.
·
TransferObject: Es
un objeto intermedio entre el BussinessObject y el DataAccessObject.
CONSECUENCIAS
Permite Transparencia
Los objetos de negocio pueden utilizar la
fuente de datos sin conocer los detalles específicos de la implementación del
origen de datos. El acceso es
transparente porque los detalles de implementación están ocultos en el interior
del DAO.
Permite
la Migración Fácil
Una capa de DAO facilita una aplicación para
migrar a una aplicación de base de datos diferente. Los objetos de negocio no tienen
conocimiento de la aplicación de datos subyacente. Por lo tanto, la migración implica
cambios sólo en la capa DAO. Además,
si se emplea una estrategia de fábrica, es posible proporcionar una
implementación de fábrica de hormigón para cada aplicación de almacenamiento
subyacente. En este caso, la
migración a una aplicación de almacenamiento diferente significa proporcionar
una nueva implementación de fábrica para la aplicación.
Reduce la
Complejidad del Código de Bussines Object
Como el DAOs manejar todas las complejidades de acceso a datos,
simplifica el código de los objetos de negocio y otros clientes de datos que
utilizan el DAO. Todo el código
de la aplicación relacionada (como SQL) se encuentra en el DAO y no en el
objeto de negocio. Esto mejora la
legibilidad del código y la productividad en el desarrollo.
Centraliza todas de Acceso
Datos en una Capa Separada
Debido a que todas las operaciones de acceso a datos están ahora delegadas a la DAOs, la capa separada de acceso a datos puede ser visto como la capa que se puede aislar el resto de la aplicación de la aplicación de acceso a datos. Esta centralización hace que la aplicación más fácil de mantener y gestionar.
No es útil para la Persitencia Adminsitrativa Mediante Cotenedor
Debido a que el contenedor EJB maneja los beans de entidad con persistencia gestionada por contenedor (CMP), el contenedor de servicios de forma automática todos los accesos de almacenamiento persistente. Las aplicaciones que utilizan gestionadas por contenedor beans de entidad no necesitan una capa de DAO, ya que el servidor de aplicaciones de forma transparente proporciona esta funcionalidad. Sin embargo, DAOs siguen siendo útil cuando se requiere una combinación de CMP (para beans de entidad) y BMP (por sesión frijoles, servlets).
Añade Capa Adicional.
La DAOs crean una capa adicional de objetos de datos entre el cliente y el origen de datos que deben ser diseñados e implementados para aprovechar los beneficios de este patrón.Sin embargo, el beneficio obtenido por la elección de este enfoque vale la pena el esfuerzo adicional.
EJEMPLO DE PATRON DE
DISEÑO (DAO)
En el núcleo de
acceso a datos de objetos DAO o patrón es una interfaz java, el cual define
varios métodos para realizar operaciones CRUD ejemplo Crear, Leer, Actualizar y
eliminar basado en su tecnología de servidor de aplicaciones se pueden crear
diferentes tipos de implementación de esta interfaz, por
ejemplo JdbcDAOImpl para conectar la base de datos usando
JDBC.
Así es como una interfaz típica DAO parece:
pública interfaz AccountDAO {
pública booleano guardar ( cuenta Account ) ;
pública booleano actualización ( cuenta Account ) ;
pública booleano findByAccountNumber ( int numeroCuenta ) ;
pública booleano delete ( cuenta Account ) ;
}
pública booleano guardar ( cuenta Account ) ;
pública booleano actualización ( cuenta Account ) ;
pública booleano findByAccountNumber ( int numeroCuenta ) ;
pública booleano delete ( cuenta Account ) ;
}
Que define varios métodos para
llevar a cabo la operación CRUD.
CONCLUSION.
Este patrón de diseño
en pocas palabras reduce el acoplamiento entre la lógica de negocio y la lógica
de persistencia, la cual la lógica quiere decir que hace una consulta a la base
de datos y devuelve un resultado y la capa de persistencia es la que manda a
llamar los métodos del CRUD.
No hay comentarios:
Publicar un comentario