Qual camada vocês costumam usar para separar o ManagedBean do DAO?

4 respostas
A

Qual camada vocês costumam usar para separar o ManagedBean do DAO? Para não fazer chamadas do ManagedBean diretamente ao DAO.

4 Respostas

maurijava

Camada de controle, DAO manda uma String e o controlador filtra e manda pro ManagedBean.

Priuli

Eu assumo que o ManagedBean do Jsf faz o papel de controler(MVC), e dentro dos manegedbean utilizo as chamadas para o Model (Exempo: BO class), e lá no model faço as chamadas para os DAOS

D

O controller em uma aplicação JSF é o Faces Servlet que temos que mapeiar no web.xml.
O mangedBean seria parte do modelo.

Eu acesso meus daos nos managedBeans pela interface que eles implementam, sendo
que a implementação é injetada pelo Spring.

Eu declaro meu managedBeans pelas anotações do Spring, não os declaro no faces-config.
Isto é necessário para usar de dao’s que citei acima.

Priuli

Daniel.F:
O controller em uma aplicação JSF é o Faces Servlet que temos que mapeiar no web.xml.
O mangedBean seria parte do modelo.

Eu acesso meus daos nos managedBeans pela interface que eles implementam, sendo
que a implementação é injetada pelo Spring.

Eu declaro meu managedBeans pelas anotações do Spring, não os declaro no faces-config.
Isto é necessário para usar de dao’s que citei acima.

Bom ñ fui claro, vamos lá… eu ñ utilizo os daos diretamente no ManagedBean pq tal classe é muito próximo dos componentes de View que acabam sujando o código com funções especificas da redenrinzação de tela. Como trabalho com projetos imensos e preciso ter uma manutenção rapida, eu faço de tudo para deixar o código simples, fácil e sem dependências que ñ fazem parte do escopo, para contornar a sujeira que fica no ManageBean eu sempre crio classes no estilo BO(Bussines Object), parecido com façaide, para manter a lógica de CRUD e regra de negocio em um lugar só (nas classes BO), sem ter nenhuma dependência com as classes do JSF, com isso o código de negocio fica + limpo e se precisar mudar ou criar varias implementações fica mais facil alem de que se precisar mexer em algo da tela não vai afetar a minha regra de negocio, sem contar q a regra do negocio fica disponível para outros tipos de projetos sem ser jsf e tb os testes de unidade ficam mais simples de entender assim como a aplicação toda. Eu ñ uso Daos diretamento nos ManagedBeans justamente para manter a facil manutenção no codigo, no lugar eu injeto as classes BO( utilizando o Spring que tem anotação @Service) no ManagedBean(@Component), e o BO recebe por inversão de controle os daos(@Repository), assim minha logica fica centralizadas nos BOs e não no ManagedBean q tem dependencia do jsf ou outras coisas da tela… cada caso é um caso, eu já usei e adoto a abordagem do Daniel quando o software é pequeno sem perperctiva de crescimento, ao quando preciso de agilidade… segue minha opiniao

Criado 1 de fevereiro de 2011
Ultima resposta 1 de fev. de 2011
Respostas 4
Participantes 4