(Resolvido)Camadas em Java

Ola pessoal, este é o meu primeiro topico, espero que esteja no lugar certo.
Sou iniciante em java, ja estou na parte de swing, estudando muito, tenho que fazer um projeto para o final do meu curso. Pensei que ja estava sacando pelo menos um pouco de java, porem depois de terminar uma parte de um projeto teste o professor veio com uma Historia de Camadas, camada de persistencia, enfim.
Gostaria de saber se alguem ai pode me ajudar com o assunto. Basicamente minhas duvidas sao:
O que é camada.
Onde eu uso
Como eu uso
[E-MAIL REMOVIDO PELA MODERAÇÃO]
Obrigado

Java,não é de um hora pra outra que vc vai dominar,., vai muito tempo (“anos”) e dedicação, para vc falar eu sei java…

Camadas é um conceito que não é só de Java, é de qualquer linguagem,

Mais o que é camada

Camada é isso e vc separar seu programa em partes , de acordo com cada objetividade de cada parte, isto facilita na organização , estrutura entre outros…
Você PODE separar as camadas do seu programas pelo “pacotes” em java

quando vc desenvolver um aplicação ela pode ter 1,2,3,4,5,6,7,8,N camadas, normalmente usa 3 camadas, aonde essas divide

camada de apresentação (no caso do desktop aqui seria o proprio swing,na web seria as pagina html,jsp,xhtml. etc)
camada de negocio (aqui é aonde fica sua logica de negocio da aplicacao, metodo salvar etc…, algumas verificações que vc precisa realizar)
camada de persistencia(aqui é referente ao acesso ao banco de dados,quando vc usa um SQL em algum classe java, normamente esta classe fica na camada de PERISTENCIA,o CRUD tambem fica na camada de persistencia)

Basicamente camadas é isso

poxa, muito obrigado erickfm8. Estou estuda java faz um tempo. Semana passada o Professor do curso pediu para pesquisar sobre camadas, porem eu so to meio confuso como isso funciona no codigo. Ma uma hora ou outra a ficha cai. Vlw, vc me ajudo muito.

  1. Não deixe o seu e-mail no fórum. Lembre-se que esse site é público, e pessoas mau intencionadas podem lê-lo;
  2. O tópico correto para essa dúvida seria “Arquitetura de sistemas”, se vc lesse o título do fórum:
    Camadas, Tiers, Clusters, programação distribuída e arquitetura em geral.
  3. Evite levar a conversa para o messenger. Trabalhe o assunto no fórum, assim todos aprender com sua dúvida.

[quote=gustavotorquato]poxa, muito obrigado erickfm8. Estou estuda java faz um tempo. Semana passada o Professor do curso pediu para pesquisar sobre camadas, porem eu so to meio confuso como isso funciona no codigo. Ma uma hora ou outra a ficha cai. Vlw, vc me ajudo muito.
[/quote]

Siga FIELMENTE as camadas, a aplicação ficará mais robusta, com menos erros, mais testável, mais integrável e mais manutenível. :smiley:

Tudo bem, vo seguir a risca, ainda to meio confuso em camadas, mas jaja eu aprendo. Obrigado

o que especificamente vc não intendeu?

vc sabe fazer um cadastro em java??

posta ai o codigo que agente divide em camadas pra vc

Cara, é o seguinte, como eu falei eu to começando em java. O Meu problema é como eu vo usar isso. Por exemplo, eu to começando a criar um sisteminha aqui so para teste. A raiz do meu projeto esta mais ou menos assim:

telas
- TelaLogin.java
ferramentas
- Temas.java
modelos
- LayoutTelaLogin.java
bd
-Conexao.java

tela: esta o codigo para criar as minhas janelas.

ferramentas: esta o codigo para definir um lookAndFeel

modelos: estou me baseando pela camada de modelos, pelo que entendi, seria um modelo dos meu objetos. Estou tentando entender camadas e ja aplicando aqui nesse pacote

bd: este pacote ira guardar apenas as classes relacionadas a banco de dados.

Por exemplo, gostaria de saber se esta certo:

eu tenho uma tela de login, o usuario ira digitar nos campos de Usuario e senha. No codigo eu irei criar um objeto da classe que tera que receber e tratar as informaçoes que o usuario digitou certo. Depois disso ela ira criar um objeto da classe que faz a validaçao de usuario e senha.

  • a minha tela de login estaria na camada de interface
  • a classe que receberia e trataria os dados do usuario fica na camada de negocio(onde esta a logica da coisa)
  • a classe que se responsabiliza pela validaçao do usuario e senha no banco fica na camada de persistencia.

Estou certo? e outra, onde entraria a camada de modelo ai?

tá quase la…

veja bem está é apenas um jeito de fazer,dividir, e correto mais tem outras n opçoes que são corretos tbm,basicamente é assim

primeiro vc tem o objeto Usuario certo?

sua tela “inteface” seria a camada de apresentação “interface”

a classe que recebeira os dados PODERIA ser sim a camada de negocio,poremm o correto seria ser o controlador MVC,mais di boa não precisa se procupar com isso ainda vai de vagar,se quiser dar um pesquisada…

o metodo validar fica na classe de negocio,porem vc vai teque pegar informaçoes do banco certo?, o metodo validar que pega as informaçoes do banco fica na camada de persistencia , PROCURE POR PADRAO DAO.

ex:

aqui é a camada de persistencia
class UsuarioDAO
// metodos
criarConexaoBanco
public boolena validarUsuario(){
// SQL…
}
etc…

o metodo validarUsuario vai la no banco e e faz o que vc quiser, este metodo pode retornar true o false,dizendo se deu certo ou nao

aqui é a camada de negocio

class UsuarioNegocio

UsuarioDAO usuarioDAO = new UsuarioDAO();
//metodos
public void validarUsuario (){
usuarioDAO.validarUsuario();
}

como vc pode ver o validarUsuario fica na camada de negocio,mais para não colocar codigo SQL na camada de negocio agente cria um classe por exemplo a UsuarioDAO, para sempara o codigo SQL,assim agente apenas chama o metodo da classe DAO…e nossa classe de negocio fica limpa sem SQL…

A camada de apresentacao ta certa o conceito

cara, voce clareo minha mente agora, agora eu entendi como que funciona a camada de apresentaçao, de negocio e de persistencia, vou dar uma pesquisada sobre MVC. Muito obrigado mesmo, agora eu ainda to em duvida sobre a ultima camada que o Professor falou, que seria a camada de Modelo, eu dei uma pesquisada aqui, porem eu so encontro projetos com 3 camadas, e segundo meu professor, ha 4 camadas, sendo esta ultima a camada de Modelo. Se tiver como voce so me dar mais uma esplicaçao sobre essa camada eu agradeceria muito.
So mais uma coisa, eu sei que ela esta mais ligada com a camada de apresentaçao. Foi o que ele me disse, porem nao entendi nada. kkkkkk

assim

PENSANDO EM CAMADAS, camada de negócio é A MESMA COISA que a camada de modelo

se vc quiser trocar o nome la em cima de negocio para modelo, é mesma coisa …

Agora tem um conceito de MODELO que fica no MVC,que já é outra coisa e bem mais dificil de entender,

MVC (MODEL, VIEW , CONTROLER)…se usa na camada de aprensentação

aqui tem um topico sobre MVC,

http://www.guj.com.br/java/241096-ejb-tem-lugar-no-mvc

porem vc temque estudar um pouco de MVC para poder entender o tópico pois envolve conceito avançados de MVC e JAVA

[quote=erickfm8]assim

PENSANDO EM CAMADAS, camada de negócio é A MESMA COISA que a camada de modelo

se vc quiser trocar o nome la em cima de negocio para modelo, é mesma coisa …

Agora tem um conceito de MODELO que fica no MVC,que já é outra coisa e bem mais dificil de entender,

MVC (MODEL, VIEW , CONTROLER)…se usa na camada de aprensentação

aqui tem um topico sobre MVC,

http://www.guj.com.br/java/241096-ejb-tem-lugar-no-mvc

porem vc temque estudar um pouco de MVC para poder entender o tópico pois envolve conceito avançados de MVC e JAVA[/quote]

Blz, eu vo dar uma olhada no topico, e ja to pesquisando aqui sobre mvc. Cara, muito obrigado. Voce me ajudo muito.
Resolveu ai minhas duvidas, agora pelo menos eu tenho uma base pra seguir. Muito Obrigado. Ate Mais.

Qualquer coisa estamos aii…

Valew