Galera,
Uma dúvida de conceito:
DAO é um padrão de projeto, certo?
O Hibernate não segue este padrão?
Já o JSF segue o padrão MVC, certo?
Valew, desde já.
Galera,
Uma dúvida de conceito:
DAO é um padrão de projeto, certo?
O Hibernate não segue este padrão?
Já o JSF segue o padrão MVC, certo?
Valew, desde já.
[quote=thiago90ap]Galera,
Uma dúvida de conceito:
DAO é um padrão de projeto, certo?
O Hibernate não segue este padrão?
Já o JSF segue o padrão MVC, certo?
Valew, desde já.[/quote]
DAO é um padrão de projeto sim, correto.
Hibernate e JSF são frameworks com funções distintas.
Eles foram desenvolvidos com base nesses padrões citados por você, mas o desenvolver precisa/deve seguir esse conceito.
Você pode dentro do seu ManageadBean fazer algumas “lambanças” consideráveis.
Por isso o ideal é ler a especificação de cada item antes de dar início ao desenvolvimento do mesmo.
nel,
Obrigado pela resposta.
Eu sei que Hibernate e JSF são Frameworks, mas minha dúvida é: se eu utilizar estes frameworks, automaticamente estou desenvolvendo em DAO e MVC?
Obrigado.
[quote=thiago90ap]nel,
Obrigado pela resposta.
Eu sei que Hibernate e JSF são Frameworks, mas minha dúvida é: se eu utilizar estes frameworks, automaticamente estou desenvolvendo em DAO e MVC?
Obrigado.[/quote]
Não, não confunda um conceito (padrão de projeto) com um framework. MVC é um conceito e basicamente, visa o desenvolvimento “em camadas”.
Em uma camada você pode usar JSF e em outra, o Hibernate. Mas tu poderia optar por usar diretamente REST/Ajax/Javascript ao invés de JSF e Eclipselink, ao invés de Hibernate.
É igual eu perguntar a você, com qual tecnologia você quer trabalhar para desenvolver o sistema web X ? Você pode dizer PHP, Ruby, Java…
Falando do Java, como eu disse, para cada camada você dispõe de conceitos e frameworks para o desenvolvimento. Mas como eu disse, não confunda um conceito com um framework.
nel,
Desculpa, talvez eu tenha sido pouco claro.
O conceito de padrão de projeto e framework eu entendo. E sei que são distintos.
Minha dúvida surgiu pelo seguinte: Exemplo, JSF tem visão (XHTML), controle (Managed Beans) e modelo (as classes de persistência). Sendo assim, quando eu uso JSF eu estou desenvolvendo em MVC? Ou seja, o conceito de MVC é aplicado no desenvolvimento com JSF?
E quando uso Hibernate…? O Hibernate usa o conceito de DAO?
[quote=thiago90ap]nel,
Desculpa, talvez eu tenha sido pouco claro.
O conceito de padrão de projeto e framework eu entendo. E sei que são distintos.
Minha dúvida surgiu pelo seguinte: Exemplo, JSF tem visão (XHTML), controle (Managed Beans) e modelo (as classes de persistência). Sendo assim, quando eu uso JSF eu estou desenvolvendo em MVC? Ou seja, o conceito de MVC é aplicado no desenvolvimento com JSF?
E quando uso Hibernate…? O Hibernate usa o conceito de DAO?[/quote]
Sim, é aplicado em JSF, mas quando você fala em classes de persistência, se você não implementar corretamente, pode fazer uma chamada DAO dentro do seu Managed Bean, o que eu acharia “horrível”. Você pode aplicar o pattern “Business Delegate”, por exemplo, ou usar EJB´s (o que aconselho), se precisar de transação. Nos teus EJB´s, que será responsável por todo o negócio do seu sistema, você terá a inclusão dos teus DAO´s.
Por isso eu digo que o JSF é MVC desde que você saiba usa-lo.
Sobre o Hibernate, ele é baseado no conceito orientado a objetos e com o intuito de fazer a ligação de sua classe Java com uma tabela do banco de dados, por isso, considero uma implementação do conceito de DAO, já que o mesmo visa trabalhar com dados do seu SGBD.