Patrones de diseño. Servicios y DAO’s

Cuando desarrollamos software empresarial en Java o cualquier lenguaje OOP estamos obligados a trabajar con patrones de diseño.
Además de generar una arquitectura muy limpia y con menor acople, los desarrolladores de un proyecto en conjunto estarán agradecidos.
Vamos a ver de manera muy simple los patrones DAO y Services para trabajar con objetos persistentes y la visibilidad de los métodos requeridos por el cliente.

Diagrama de secuencia muy simple que muestra los mismos:

Entonces debemos desarrollar una clase genérica para lograr la abstracción de DAO. Esto es conveniente cuando utilizamos algún ORM
Luego cada entidad tendrá una interfaz y su implementación de métodos necesarios.
Estos DAO’s podrán  proveer funcionalidad simples o en su conjunto resolver problemas complejos. Las interfaces que serán expuestas en el cliente (MVC, Swing, Móvil, etc.) serán únicamente los Servicios.
En esta arquitectura un DAO no puede ser consumido desde un cliente. En todos los proyectos JEE en la cual estuve implicado, utilizamos este patrón para construir los cimientos de un sistema complejo y altamente escalable.

Otra forma de verlo:

Anuncios