Pacotes em Java

Lendo alguns materiais sobre pacotes em Java, percebi que existe um padrão de se colocar sempre:
br.com...

Quanto ao nome da empresa, nome do projeto e o subpacote, é compreensível de imediato. A minha dúvida condiz sobre o uso do br.com, existe algum significado sobre isso ? Imaginei que o br seria a ideia do projeto ter sido desenvolvido no Brasil, mais o com ficou sem imaginação.
Estive consultando alguns posts anteriores aqui mesmo no GUJ, mais a minha dúvida ainda persiste.

Abraços;

A principio pelo que sei até agora :slight_smile: a ideia da utilização deste formato é tornar “único” o seu projeto, e é utilizada essa correlação com o dominio(site) da empresa. Dois projetos de um software ERP de um sub processo ContasAPagar sempre seriam identificados de forma distinta.

Exemplo:

br.com.empresa1.Erp.ContasAPagar

br.com.empresa2.Erp.ContasAPagar

A idéia é a seguinte. Digamos que um determinado código tenha sido criado pelo Instituto de Pesquisa Médica da Universidade de Tokyo (ims.u-tokyo.ac.jp) e precise usar código criado pelo Departamento de Ciências Biológicas da Universidade de Tokyo (biol.s.u-tokyo.ac.jp).

Os pacotes do Instituto de Pesquisa Médica teriam o seguinte prefixo:

package jp.ac.u_tokyo.ims......

E os pacotes do Departamento de Ciências Biológicas:

package jp.ac.u_tokyo.s.biol.....

Note que não há como termos 2 pacotes com o mesmo nome se usarmos o domínio Internet (de trás para frente) para batizar os pacotes. Foi essa a ideia.

No seu caso, br.com.nomeempresa é porque isso é o mais normal aqui no Brasil. Mas você poderia ter algo como receita.fazenda.gov.br --> br.gov.fazenda.receita e assim por diante. Aliás, mexo com muitos códigos estrangeiros onde há vários departamentos de TI na mesma empresa e a sigla do departamento é usada também no pacote.

Esse padrão é bacana mas só fica perfeito mesmo se você usar
ele junto com algum DesignPattern
ou seja padrão de projeto
DAO
Business
Facade

e por aí vai.

Senão caso contrário você terá um monte de pacotes acumulados.

Indico colocar subpastas dentro de cada pacote ou pasta com nome de algum
DesignPattern

Abraço.

[quote=JavaDreams]Esse padrão é bacana mas só fica perfeito mesmo se você usar
ele junto com algum DesignPartner
ou seja padrão de projeto
DAO
Business
Facade

e por aí vai.

Senão caso contrário você terá um monte de pacotes acumulados.

Indico colocar subpastas dentro de cada pacote ou pasta com nome de algum
design partner.

Abraço.[/quote]
Design partner? Parceiro de desenho, isso?
Na verdade, a idéia de se utilizar domínios invertidos já foi explicado pelo entanglement.
Utilizando ou não um design pattern, é perfeitamente possível organizar o projeto com os packages, desde que, respeite-se a natureza de cada classe (você não irá colocar beans com os DAOs, por exemplo).
De resto, quanto mais claro for o nome do package, mais simples será encontrar o que se busca.
Com relação ao que colocar no lugar de “com”, basta observar os domínios de sites. Eles possuem suas extensões “com”, “net”, “org”, “edu”… Veja qual se adequa à situação em que você está inserido.

FranciscoCoelho desculpe o meu erro de digitação
e já alterei o nome para o termo correto que é
DesignPattern.

Sobre o comentário do drsmachado agradeço por me corrigir
pois digitei errado e peço desculpas.

O restante do comentário vou ignorar no intuito de defender
meu direito de opinião no fórum, desculpando-me antes
por não ter sido tão claro na minha opinião.

Eu gosto de fazer os projetos de duas maneiras mantendo a mesma idéia

1- Criar nomes de pacotes referentes a qual Padrão de Projeto(DesignPattern) está usando
e depois colocar dentro de cada um uma pasta com a nomenclatura que o entanglement explicou.

2 - Criar nomes dos pacotes com a nomenclatura que o entanglement explicou e dentro de cada um
colocar as classes JAVA com parte do nome sendo um Padrão de Projeto que a mesma implementa.

Lembrando que destas duas a que mais gosto pessoalmente de fazer é a primeira, mas acredito
que para cada caso possamos aplicar não somente essas como várias outras formas que sejam possíveis
ou então a melhor forma que for cabível ao projeto que está em questão.
Vale ressaltar que não sei indicar se tem alguma convenção da oracle para ajudar nesse caso
ou algum livro de pesquisa.

Bom acho que agora é cada um decidir o que usará em seu projeto pois todos temos visões e opiniões
diferentes.

Abraço.

[quote=JavaDreams]FranciscoCoelho desculpe o meu erro de digitação
e já alterei o nome para o termo correto que é
DesignPattern.

Sobre o comentário do drsmachado agradeço por me corrigir
pois digitei errado e peço desculpas.

O restante do comentário vou ignorar no intuito de defender
meu direito de opinião no fórum, desculpando-me antes
por não ter sido tão claro na minha opinião.

Eu gosto de fazer os projetos de duas maneiras mantendo a mesma idéia

1- Criar nomes de pacotes referentes a qual Padrão de Projeto(DesignPattern) está usando
e depois colocar dentro de cada um uma pasta com a nomenclatura que o entanglement explicou.

2 - Criar nomes dos pacotes com a nomenclatura que o entanglement explicou e dentro de cada um
colocar as classes JAVA com parte do nome sendo um Padrão de Projeto que a mesma implementa.

Lembrando que destas duas a que mais gosto pessoalmente de fazer é a primeira, mas acredito
que para cada caso possamos aplicar não somente essas como várias outras formas que sejam possíveis
ou então a melhor forma que for cabível ao projeto que está em questão.
Vale ressaltar que não sei indicar se tem alguma convenção da oracle para ajudar nesse caso
ou algum livro de pesquisa.

Bom acho que agora é cada um decidir o que usará em seu projeto pois todos temos visões e opiniões
diferentes.

Abraço.

[/quote]
Pesquisar nunca fez mal a ninguém.
Esta é a convenção referente à nomenclatura dos packages.

[quote=drsmachado][quote=JavaDreams]FranciscoCoelho desculpe o meu erro de digitação
e já alterei o nome para o termo correto que é
DesignPattern.

Sobre o comentário do drsmachado agradeço por me corrigir
pois digitei errado e peço desculpas.

O restante do comentário vou ignorar no intuito de defender
meu direito de opinião no fórum, desculpando-me antes
por não ter sido tão claro na minha opinião.

Eu gosto de fazer os projetos de duas maneiras mantendo a mesma idéia

1- Criar nomes de pacotes referentes a qual Padrão de Projeto(DesignPattern) está usando
e depois colocar dentro de cada um uma pasta com a nomenclatura que o entanglement explicou.

2 - Criar nomes dos pacotes com a nomenclatura que o entanglement explicou e dentro de cada um
colocar as classes JAVA com parte do nome sendo um Padrão de Projeto que a mesma implementa.

Lembrando que destas duas a que mais gosto pessoalmente de fazer é a primeira, mas acredito
que para cada caso possamos aplicar não somente essas como várias outras formas que sejam possíveis
ou então a melhor forma que for cabível ao projeto que está em questão.
Vale ressaltar que não sei indicar se tem alguma convenção da oracle para ajudar nesse caso
ou algum livro de pesquisa.

Bom acho que agora é cada um decidir o que usará em seu projeto pois todos temos visões e opiniões
diferentes.

Abraço.

[/quote]
Pesquisar nunca fez mal a ninguém.
Esta é a convenção referente à nomenclatura dos packages.[/quote]

Amigo poderia ter nos ajudado e enviado essa fonte na primeira mensagem que passou
mas você se preocupou com outras coisas mais importantes as quais não entendi, desculpe.
Como eu disse, coloquei minha opinião no intuito de ajudar
e não vou cometer o erro novamente de ficar a discutir coisas
que não tem nada a ver com o tópico, só porque achas que estou
certo, errado ou etc.
Continuarei ignorando suas mensagens assim como outras pessoas
já o estão fazendo.
Ao autor do tópico espero ter ajudado e se precisar de algo mais por favor
faça a gentileza de postar que eu ajudarei no que eu puder com prazer.

Abraço.