sirve - Estructura del paquete para un proyecto de Java?
paquetes en java ejemplos (7)
Hay algunos recursos existentes que puede verificar:
- Paquete apropiado sus clases de Java
- Spring 2.5 Architecture
- Tutorial de Java: nombrar un paquete
- Convenciones de Nombramiento de Sun
Por lo que vale, mis propias pautas personales que tiendo a usar son las siguientes:
- Comience con el dominio inverso, por ejemplo, "com.mycompany".
- Use el nombre del producto, por ejemplo, "myproduct". En algunos casos, tiendo a tener paquetes comunes que no pertenecen a un producto en particular. Estos terminarían categorizados de acuerdo con la funcionalidad de estas clases comunes, por ejemplo, "io", "util", "ui", etc.
- Después de esto, se vuelve más libre. Usualmente clasifico de acuerdo al proyecto, área de funcionalidad, implementación, etc. Por ejemplo, podría tener "proyecto1", "proyecto2", "ui", "cliente", etc.
Un par de otros puntos:
- Es bastante común en los proyectos en los que he trabajado para que los nombres de los paquetes fluyan de la documentación de diseño. Por lo general, los productos ya están separados en áreas de funcionalidad o propósito.
- No se preocupe demasiado por llevar de inmediato la funcionalidad común a paquetes superiores. Espere a que haya una necesidad en los proyectos, productos, etc., y luego refactorice.
- Mire las dependencias entre paquetes. No son del todo malos, pero pueden significar un acoplamiento estrecho entre lo que podrían ser unidades separadas. Hay herramientas que pueden ayudarlo a realizar un seguimiento de esto.
¿Cuál es la mejor práctica para configurar estructuras de paquetes en una aplicación web Java?
¿Cómo configuraría su src, código de prueba de unidad, etc.?
La forma en que generalmente tengo mi jerarquía de carpetas-
- Nombre del proyecto
- src
- compartimiento
- pruebas
- libs
- documentos
Otro artículo muy bueno sobre la estructura de paquetes de Java: gestión del classpath de Java
Por lo general, me gusta tener lo siguiente:
- bin (Binarios)
- doc (Documentos)
- inf (Información)
- lib (Bibliotecas)
- res (Recursos)
- src (Fuente)
- tst (Prueba)
Estos pueden considerarse poco convencionales, pero creo que es una forma muy agradable de organizar las cosas.
Puedes seguir el diseño del proyecto estándar de maven. No es necesario utilizar maven, pero facilitaría la transición en el futuro (si es necesario). Además, otros desarrolladores estarán acostumbrados a ver ese diseño, ya que muchos proyectos de código abierto se presentan de esta manera,
Sugeriría crear su estructura de paquete por característica, y no por la capa de implementación. Una buena redacción sobre esto son las prácticas de Java: paquete por función, no capa
Here puede leer acerca de los diseños de directorio estándar y sobre la estructura del directorio / paquete para el proyecto de Java.