Como nombrar packages en tu aplicación java

Como recién egresado e insertándome al mundo laboral me he visto con la necesidad de desarrollar un sistema web para los departamentos de Gendarmería de Chile, siempre necesité saber cómo organizar los packages de forma que al ir agregando clases y luego al recurrir a ellas me fuese fácil poder reconocer el package al que pertenecen, no fue hasta ahora que me vi obligado a averiguar sobre este tema cuando por fin he pillado un post de un colega Argentino que nos explica claramente cómo debemos organizarlos de forma eficiente, a quien se le agradece enormemente la publicación de este.

Los modismos en Java existen como en cualquier otro lenguaje de programación. Estos hacen claramente más fácil la vida de todos los programadores en particular aquellos que mantienen las aplicaciones y tienen que lidiar con el código escrito por otros. Usar convenciones de un lenguaje en particular es mostrar compasión por aquellos mantenedores que en el futuro cercano van a tocar y retocar el código escrito originalmente.

En este artículo vamos a ver como nombrar packages en java.

Primero vamos a mostrar los 2 tipos de agrupaciones de clases que creo son más comunes.

Package by Layer (por capas)

* com.wow.dao
* com.wow.util
* com.wow.file

Package by Feature (por categoria)

* com.wow.customer
* com.wow.seller
* com.wow.product

¿Ahora… qué diferencia hay entre estas dos clasificaciones? Básicamente si tu cerebro está poblado por más de una neurona, este va a darse cuenta que toda aplicación hace cosas básicas, lo cual va a requerir que tengas un set de funciones base para quizá todas ellas. Que es esto? un framework, si, un set de funciones básicas las cuales pueden ser portadas a través de varias aplicaciones sin ser modificado ni adaptado para cada una de ellas.

En tu framework vas a tener que hacer clases reusables y agruparlas por Layer ya que no vas a tener ningún código específico de alguna aplicación en específico. Tus clases ahí serán DatabasePool, StringUtil, FileWriter, etc. Nada que tenga que ver con la aplicación en sí.

Ahora, imagínate que estás haciendo una aplicación de Stock, entonces vamos a usar aquí, con las clases especificas de tu app la clasificación segunda, package by Feature. Porque? porque desde estos packages específicos vas a llamar y utilizar el framework, pero es altamente probable que estas clases no sean reutilizadas ni extensibles para otros desarrollos.

“Todo conocimiento tiene por sí mismo algún valor, no hay nada tan pequeño e insignificante que yo no prefiera conocer a ignorar.”
Ben Jonson

Fuente: rodrigo asensio


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: