Divisão de Classses...!

olá pessoal,

estou desenvolvendo um trabalho de faculdade, mas preciso de umas

orientações com dividi as classes com sua total funcionalidade, ou seja para

ser reaproveitado por outros trabalhos,projetos e etc.

mas ou menos isso uma classe Conexão que abri e fecha a conexão com o

banco, uma classe que recebe parametros(nome,endereco e etc) e monta os

sql e etc. Qual seria a melhor maneira de dividi as Classes?

muito grato,

André Luís

Andre…

aki na empresa dividimos as classes em 3 camadas…

um pacote util q contem conexao com banco, mensagens ao usuario e metodos comuns no sistema…
um pacote contendo os metodos de acesso ao banco de dados (insert, update, delete, etc)…
um pacote com as interfaces com o usuario…

essa divisao aki funcionou mto bem…tanto q migramos o sistema p/ WEB e nao deu maiores problemas…
acredito ser a melhor forma de estruturar sua aplicacao…mas se preferir colcoar mais camadas, fique a vontade…
qto mais camadas, melhor p/ especificar o q cada classes faz dentro do seu sistema…

espero ter ajudado.

falow

Essa pergunta nem é de Java nem é de Avançado, mas vamulah…

Existem milhões de jeitos de estruturar uma aplicação em camadas… um dos mais bonitos é o MVC (Model-View-Controller) e suas variações. É também um dos melhores, simplesmente porque funciona.

Nosso famoso fabricante de software te vendeu uma bicicleta como se fosse moto. Barioni, essas não são exatamente camadas, né?

Fora que quando vc manipula bancos de dados, o mais legal é deixar o máximo possível fora do código: nomes de tabelas e colunas, queries, strings de conexão, tudo isso deve ficar em arquivos de configuração (tanto faz se a aplicação é web ou não). Nem sempre dá pra fazer, mas quando dá…

Normalmente o armazenamento de dados fica inteiro em uma camada só (mas pode ter vários pacotes), e a interface com o usuário também deve ficar separada numa camada só.

Quando a gente faz aplicações em 3 camadas aqui, a gente divide mais ou menos assim:

br.empresa.projeto.core: dados que viajam pelo RMI.
br.empresa.projeto.client: interface com o usuário.
br.empresa.projeto.server: parte do servidor, que conversa com o banco.

A camada de acesso ao banco fica dentro do pacote server, porque a gente já tem código aproveitado de outros lugares (falar com o banco usa uma classe e um arquivo properties).

Esse esquema é legal pq vc pode replicar o core nos dois jars (client.jar e server.jar) e, uma vez que o core esteja sólido, vc pode mexer no server sem alterar os clientes e vice-versa.

A divisão em pacotes não tem tanta relação assim com a divisão em camadas, mas é legal que os pacotes de diferentes camadas sejam diferentes.

[]s!