Los modismos en Java existen como en cualquiero otro lenguage de programacion. Estos hacen claramente mas facil la vida de todos los programadores en particular aquellos que mantienen las aplicaciones y tienen que lidiar con el codigo escrito por otros. Usar convenciones de un lenguage en particular es mostrar compasion por aquellos mantenedores que en el futuro cercano van a tocar y retocar el codigo escrito originalmente.

En este articulo vamos a ver como nombrar packages en java.

Primero vamos a mostrar los 2 tipos de agrupaciones de clases que creo son mas 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.. que diferencia hay entre estas dos clasificaciones ? Basicamente si tu cerebro esta poblado por mas de una neurona, este va a darse cuenta que toda aplicacion hace cosas basicas, lo cual va a requerir que tengas un set de funciones base para quiza todas ellas. Que es esto ? un framework, si, un set de funciones basicas las cuales pueden ser portadas a traves 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 ningun codigo especifico de alguna aplicacion en especifico. Tus clases ahi seran DatabasePool, StringUtil, FileWriter, etc. Nada que tenga que ver con la aplicacion en si.

Ahora, imaginate que estas haciendo una aplicacion de Stock, entonces vamos a usar aqui, con las clases especificas de tu app la clasificacion segunda, package by Feature. Porque ? porque desde estos packages especificos vas a llamar y utilizar el framework, pero es altamente probable que estas clases no sean reutilizadas ni extensibles para otros desarrollos.

Saludos.