Estrutura de pacotes para um projecto Java?

Qual é a melhor prática para configurar estruturas de pacotes numa aplicação web Java?

Como você configuraria o seu src, código de teste de unidade, etc?

Author: Jonik, 2008-10-17

5 answers

Existem alguns recursos existentes que pode verificar:

  1. Embalar Adequadamente As Suas Classes Java
  2. Arquitectura Spring 2.5
  3. Tutorial Java-nomear um pacote
  4. Convenções de nomeação do Sol
Para que conste, as minhas orientações pessoais que costumo usar são as seguintes:
  1. Comece pelo domínio inverso, por exemplo, " com.mycompany".
  2. utilizar a denominação do produto, por exemplo"myproduct". Em alguns casos tendem a ter pacotes comuns que não pertencem a um determinado produto. Estes acabariam por ser categorizados de acordo com a funcionalidade destas classes comuns, por exemplo "io", "util", "ui", etc.
  3. Depois disso, torna-se mais livre. Geralmente eu grupo de acordo com o projeto, Área de funcionalidade, implantação, etc. Por exemplo, eu poderia ter "project1", "project2", "ui", "cliente", etc.

Alguns outros pontos:

    É bastante comum em projectos para os quais trabalhei. nomes de pacotes a fluir a partir da documentação de projeto. Normalmente os produtos são separados em áreas de funcionalidade ou finalidade já.
  1. não se esforce muito para empurrar a funcionalidade comum para pacotes mais altos imediatamente. Esperar que haja uma necessidade entre projetos, produtos, etc. e depois o refactor.
  2. ver dependências entre pacotes. Não são todos maus, mas pode significar um acoplamento apertado entre o que podem ser unidades separadas. Existem ferramentas que podem ajudá-lo a manter o controle disto.
 51
Author: lycono, 2014-01-07 17:50:45
Eu sugeriria criar a sua estrutura de pacotes por funcionalidade, e não pela camada de implementação. Uma boa escrita sobre isso é práticas Java: pacote por funcionalidade, não Camada
 37
Author: dataAnalyst, 2011-06-17 08:43:33

Normalmente gosto de ter o seguinte:

  • bin (binários)
  • doc (documentos)
  • inf (Informação)
  • Lib (bibliotecas)
  • res (Recursos)
  • src (Fonte)
  • tst (teste)
Estes podem ser considerados não convencionais, mas acho que é uma boa maneira de organizar as coisas.
 3
Author: , 2015-10-10 18:55:54

A forma como costumo ter a minha hierarquia de pasta -

  • Nome Do Projecto
    • src
    • bin
    • testes
    • libs
    • docs
 1
Author: pdeva, 2008-10-17 01:55:45