Domanda

Qual è la migliore pratica per impostare strutture di pacchetti in un'applicazione Web Java?

Come configureresti il ??tuo src, il codice unit test, ecc?

È stato utile?

Soluzione

Puoi seguire layout di progetto standard di maven . In realtà non devi usare maven, ma renderebbe la transizione più facile in futuro (se necessario). Inoltre, altri sviluppatori saranno abituati a vedere quel layout, poiché molti progetti open source sono strutturati in questo modo,

Altri suggerimenti

Ci sono alcune risorse esistenti che potresti controllare:

  1. Prepara correttamente le tue classi Java
  2. Architecture 2.5 Spring
  3. Tutorial Java - Naming a Package
  4. Convenzioni sui nomi SUN

Per quello che vale, le mie linee guida personali che tendo a usare sono le seguenti:

  1. Inizia con il dominio inverso, ad es. & Quot; com.mycompany ".
  2. Utilizza il nome del prodotto, ad es. & Quot; mioprodotto " ;. In alcuni casi tendo ad avere pacchetti comuni che non appartengono a un determinato prodotto. Queste verrebbero classificate in base alla funzionalità di queste classi comuni, ad es. " io " ;, " util " ;, " ui " ;, ecc.
  3. Dopodiché diventa più libero. Di solito mi raggruppo in base al progetto, area di funzionalità, distribuzione, ecc. Ad esempio potrei avere "project1", "project2", "ui", "client", ecc.

Un paio di altri punti:

  1. È abbastanza comune nei progetti su cui ho lavorato per far fluire i nomi dei pacchetti dalla documentazione di progettazione. Di solito i prodotti sono già separati in aree di funzionalità o scopo.
  2. Non stressarti troppo a inserire subito funzionalità comuni in pacchetti più alti. Attendere che ci sia un'esigenza tra progetti, prodotti, ecc., Quindi refactoring.
  3. Guarda le dipendenze tra pacchetti. Non sono tutti cattivi, ma può significare un accoppiamento stretto tra quelle che potrebbero essere unità separate. Esistono strumenti che possono aiutarti a tenerne traccia.

Suggerirei di creare la struttura del pacchetto in base alla funzionalità e non al livello di implementazione. Un buon commento su questo è Pratiche Java: pacchetto per funzionalità, non strato

Di solito mi piace avere quanto segue:

  • bin (Binaries)
  • doc (Documenti)
  • inf (Informazioni)
  • lib (Librerie)
  • res (Risorse)
  • src (sorgente)
  • tst (Test)

Questi possono essere considerati non convenzionali, ma trovo che sia un modo molto carino di organizzare le cose.

Il modo in cui di solito ho la mia gerarchia di cartelle-

  • Nome progetto
    • src
    • bin
    • test
    • libs
    • docs
The way I usually organise is
- src
        - main
                - java
                - groovy
                - resources
        - test
                - java
                - groovy
- lib
- build
        - test 
                - reports
                - classes
- doc
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top