uma das coisas da OOP é os packages e bem usados eles são muito uteis principalmente na organização de um software, sendo stand-alone ou web… como também a organização da modelagem através da UML.
Gostaria de ter uma idéia sobre como estruturar um software em Java?
existe algum padrão de nome de package? por exemplo, classe recomenda começar com Maiuscula, métodos com minusculas e etc… Package é como uma classe?
como voces estrutram seus software, montam varios packages?
eu tava pensando em um software para um comercio simples, poderia montrar packages assim
Cadastros (entraria os cadastros normais, clientes, funcionarios, produtos)
Consultas (as consultas normais)
Relatorios (os relatorios)
Financeiro (Caso tiver folha de pagamento e etc)
Venda (Emissão de nota, geração de boletos ou duplicatas e etc)
e assim vai
Package é tudo em letra minúscula, pois como mapeia nomes de diretórios e alguns sistemas operacionais acabam sendo meio confusos em relação a maiúsculas/minúsculas nos nomes de arquivos e diretórios, acharam melhor assim.
E realmente é só uma questão de organizar os arquivos, pra não ficar centenas deles em um único lugar, então não faz uma enorme diferença o modo como você cria os packages. Eu nem diria que “é uma das coisas de OOP”, pois não impacta muito no funcionamento da sua aplicação. Mas mesmo assim a divisão proposta parece adequada.
é bom especificar também o pacote de cadastro como:
Funcionarios
Clientes
Produtos
em pacotes separados para que cada um deles contenham suas respectivas classes, ficando ainda mais organizadas.
Um bom padrão para nomear pacotes também seria:
br.projeto.funcionarios
br - Brasil
projeto - o nome do seu projeto
classes - suas respectivas classes (clientes, funcionários, relatórios)
Na verdade a convenção adotada para o começo do nome do package é o domínio da empresa ao contrário (ex.: br.com.guj) + nome do projeto.
Isso é para garantir que não irá haver duplicidade no nome das classes quando começar a utilizá-las em outros lugares.
Agora lembrei também que no ano passado saiu um artigo na JavaBoutique dando umas orientações de como criar organizar seus packages, então seria interessante ler também: http://javaboutique.internet.com/Stablepackage/
existe também uma recomendação da SUN para os nomes de pacotes,
prefixalos com o dominio da sua empresa ao contrario, assim evita conflitos por exemplo se eu e você estamos desenvolvendo um software de cadastro de clientes para duas empresas poderiamos criar a classe
cadastro.dao.Cliente
se utilizarmos este padrão recomendado pela sun, no meu caso ficaria:
br.com.usiinformatica.cadastro.dao.Cliente
evitando assim que os nossos sistemas possuam uma classe com o mesmo nome no mesmo pacote, e possibilitando que os dois rodem dentro da mesma JVM sem conflitos