Filtro CPL Polarizado ventajas

Tips y buenas prácticas para organizar los paquetes de un proyecto de programación

 Cuando iniciamos en el mundo de la programación estamos acostumbrados o adquirimos malas prácticas de programación, es por ello que escribo este blog, para que pueda ayudarte a organizar tu proyecto de una forma mas intuitiva y cuando regreses a ese proyecto que ya tiene tiempo que no tocas, de manera rápida puedas entenderlo.
En ésta entrada me limitaré a dar buenas prácticas sólo relacionado a la organización de paquetes de las fuentes de código.
 
Primeramente imaginaremos un proyecto el que ustedes quieran, por ejemplo uno de un banco.
Nuestro proyecto tendrá microservicios, es decir, tendremos un proyecto con SpringBoot, que es un framework para Java Web o Java EE. 
Para este ejemplo utilizaremos como ejemplo el IDE del propio framework que se llama  Spring Tool Suite, este framework esta basado en Eclipse así que nos será muy familiar.
 
Partimos de que ya tenemos nuestro proyecto como se ve en la imagen
 
Entonces imaginaremos que nuestro sistema o proyecto debe tener varios microservicios en este caso. Así que imaginemos como podemos organizar nuestro proyecto para no tener que meter todas las clases Java en una sola ruta o en un solo paquete. Como vemos en la imagen sólo tenemos una ruta de carpeta llamada src/main/java que es la ruta en la que se debe colocar todo el código java por convención. Nosotros podemos agregar los paquetes que queremos siempre y cuando estén dentro de esa carpeta. Tenemos un paquete llamado com.spring.ms que no es mas que carpetas, se ven así en un explorador de archivos windows;
 
Entonces ahora le agregaremos mas paquetes.
Nosotros podemos tener archivos Java para configurar la conexión de base de datos, para nuestros objetos o entidades (DTO), para los controladores de las peticiones en este caso que es un microservicio, para manejar objetos JSON o XML (utilerias), para los DAO y para las exceptiones. Como podemos ver ya tenemos varios paquetes, pero vallamos un poco mas allá, imaginemos que queremos separar en mas capas, es decir no queremos acceder desde el controlador directamente al DAO, entonces tendremos mas paquetes, que sería el servicio y podemos agregar otro de interfaces para definir nuestro modelo.
El nombre de los paquetes debe ir en minuscula, incluso el IDE te hace esa sugerencia.

Tenemos entonces los siguientes paquetes:
 
com.spring.ms.config
com.spring.ms.controller
com.spring.ms.dao
com.spring.ms.dto
com.spring.ms.exception
com.spring.ms.interfaces
com.spring.ms.service
com.spring.ms.utility
 
En nuestro IDE se vería así
 
 
Vemos que el com.spring.ms se repite y esto es para colocar dichos paquetes en la carpeta ms. Podemos cambiar dichos nombres que hagan referencia al proyecto que estes desarrollando, por ejemplo;
com.santander.banca.clientes
com.prestamos.registros.tienda
Todo dependerá de como quieras ponerle, repito, siempre y cuando haga referencia a lo que se está desarrollando.
Para complementar el ejemplo le colocare archivos java para que quede mas claro y se vería así


De esta manera el flujo de manera general sería; el controlador podría hacer uso de las utilerias para validar o algo así, posteriormente llamaría al service, el service llamararía al dao, en el service podría también hacer uso del dto para mandarlo al controler como respuesta, si ocurre una excepcion se llama a excepcion, en el dao se hace uso de la configuración de la DB, la interface se podria usar tando para definir interfaces para el dto y los servicios.

Esto sería todo por el momento. Posteriormente estaré posteando mas sobre este mundillo de la programación.

Los invito a suscribirse a mi canal de youtube en que cual estaré subiendo videotutoriales de SpringBoot
 

Saludos!

Comentarios