Organização de arquivos no projeto

Java

13/01/2015

Estou criando um projeto e gostaria de saber se coloquei as classes nos lugares certos. Segue imagem abaixo.

[img]http://arquivo.devmedia.com.br/forum/imagem/311546-20150113-164628.jpg[/img]

Minha dúvida:

Tenho os pacotes:
br.com.felipedirector.filesearch.messageuser
optioninput

Estes pacotes são abstrações para serem usadas por aplicações e implementadas da forma peculiar de cada aplicação que faça uso delas.

É certo eu implementar a classe ManageOption e colocar dentro do pacote da minha aplicação assim como eu fiz? (Note br.com.felipedirector.filesearch.ManageOptionFileSearch)

Ou eu deveria manter a classe implementada da abstrata dentro do pacote optioninput?

Eu achei que seria certo colocar dentro do pacote da minha aplicação pensando nesta lógica:
Eu faço uso de diversas implementações do pacote java.util por exemplo. Mas nem por isso eu coloco os arquivos que implementei algum pacote da java.util dentro do pacote java.util. Muitas dessas implementações ficam dentro do pacote da minha aplicação.

Está certo está maneira de pensar?
Felipe Massa

Felipe Massa

Curtidas 0

Respostas

Eduardo Pessoa

Eduardo Pessoa

13/01/2015

Se cada pacote está com uma definição propria, está valendo!

para complementar:

[url]http://www.caelum.com.br/apostila-java-orientacao-objetos/pacotes-organizando-suas-classes-e-bibliotecas/#12-2-diretorios[/url]

[url]http://blog.caelum.com.br/como-organizar-os-pacotes-da-sua-aplicacao/[/url]
GOSTEI 0
Ronaldo Lanhellas

Ronaldo Lanhellas

13/01/2015

Estou criando um projeto e gostaria de saber se coloquei as classes nos lugares certos. Segue imagem abaixo.

[img]http://arquivo.devmedia.com.br/forum/imagem/311546-20150113-164628.jpg[/img]

Minha dúvida:

Tenho os pacotes:
br.com.felipedirector.filesearch.messageuser
optioninput

Estes pacotes são abstrações para serem usadas por aplicações e implementadas da forma peculiar de cada aplicação que faça uso delas.

É certo eu implementar a classe ManageOption e colocar dentro do pacote da minha aplicação assim como eu fiz? (Note br.com.felipedirector.filesearch.ManageOptionFileSearch)

Ou eu deveria manter a classe implementada da abstrata dentro do pacote optioninput?

Eu achei que seria certo colocar dentro do pacote da minha aplicação pensando nesta lógica:
Eu faço uso de diversas implementações do pacote java.util por exemplo. Mas nem por isso eu coloco os arquivos que implementei algum pacote da java.util dentro do pacote java.util. Muitas dessas implementações ficam dentro do pacote da minha aplicação.

Está certo está maneira de pensar?


O seu pacote "optioninput" foge da padronização que deveria ser: "br.com.felipedirector.optioninput".
GOSTEI 0
Eduardo Pessoa

Eduardo Pessoa

13/01/2015

Não tinha reparado nesse detalhe!
GOSTEI 0
Felipe Massa

Felipe Massa

13/01/2015

Mas no caso da padronização do pacote optioninput, vamos dizer que esse pacote é terceirizado (suponhamos que peguei da internet) e foi útil para o meu projeto, mesmo assim devo colocar como sendo do pacote da minha aplicação (br.com.felipedirector.filesearch.optioninput?
GOSTEI 0
Janaina Mendes

Janaina Mendes

13/01/2015

Olá Felipe, não sei bem ao certo quando pacote é de terceiros, mas sempre é mostrado assim em video aulas.

[img]http://arquivo.devmedia.com.br/forum/imagem/362748-20150114-141353.jpg[/img]
GOSTEI 0
Felipe Massa

Felipe Massa

13/01/2015

Ainda não ficou claro para mim.

[img]http://arquivo.devmedia.com.br/forum/imagem/311546-20150113-164628.jpg[/img]

Então para ficar certo a organização da estrutura acima, seria assim:

br.com.felipedirector.filesearch
    FileFilter.java
    FileSearch.java
    ManageOptionFileSearch.java
    MessageUserFileSearch.java

br.com.felipedirector.messageuser (E NÂO br.com.felipedirector.filesearch.messageuser visto que messageuser não está diretamente relacionado com o pacote FileSearch)
    IMessageUser.java

br.com.felipedirector.filesearch.test
   TestFileSearch.java

br.com.felipedirector.optioninput (E NÂO apenas optioninput, pois está sendo usado pelo pacote br.com.felipedirector) 
   ManageOption.java


Seria assim o mais correto?
GOSTEI 0
POSTAR