El patrón DAO
Muchas de las aplicaciones que utilizamos a día de hoy requieren el uso de datos, generalmente estos provienen de una base de datos relacional, sin embargo, en ocasiones nos gustaría disponer de más de una fuente de datos, generalmente esto implica una refactorización del código.
Una de las grandes problemáticas a la hora de acceder a los datos es que la implementación y el formato de la información puede variar según la fuente de los propios datos, el patrón DAO propone separar por completo la lógica de negocio de la lógica de acceso a datos, pasa de este modo a ser el DAO el mediador entre la capa de negocio y la fuente de datos, generando un alto nivel de abstracción.
Los componentes que se localizan en el patrón son:
- BusinessObject: Representa un objeto con la lógica de negocio.
- DataAccessObject: Es una capa de acceso a datos que oculta la fuente y los detalles.
- TransferObject: Implementa el patrón DAO, sirve para transmitir la información entre el DAO y el business service.
- DataSource: Representa la fuente de datos, puede ser de muy diverso tipo.