Managed beans "gigantes" no JSF

4 respostas
Leafar

Olá pessoal, tudo bem?

Trabalho com o Java Server Faces 1.2 e no nosso projeto temos vários CRUDs.

Cada CRUD tem o seu respectivo managed bean, de forma que todas as lógicas
de inclusão, alteração, exclusão, detalhes e busca ficam nele.

O que tenho notado é que nossos beans estão relativamente grandes, conforme
aquele anti-pattern Gigante Guerreiro Daileon. hehehe

Gostaria de saber o que vocês sugerem para melhorar esse design ou, até mesmo,
como vocês organizam seus CRUDs no JSF.

Obrigado! :wink:

[]'s

4 Respostas

drsmachado

Qual a estrutura do teu projeto?
Na arquitetura MVC proposta pelo Struts, por exemplo, é comum termos o equivalente ao ManagedBean, a Action, enorme. Isto devido à concentração da camada de controle no dito cujo.
Acredito que o mais sensato, neste caso, é distribuir as responsabildiade de controle em services e managedBeans.
Explico, quando você tem tudo no MB, ele faz a lógica de tela (alguém disse bean?) e a lógica de modelo (quase um controle do DAO). Se você deixar a cargo de uma outra classe, um service e utilizar um DTO, por exemplo, você diminui o tamanho do bendito e acaba organizando melhor o código.
Isto irá acrescentar algumas classes ao projeto, alguns packages, por outro lado, diminuirá o acoplamento. Se um dia der na louca de quem manda no projeto, mudar para swing, fica fácil.

E

Lógica de Tela eu deixo no MB mesmo, mais eu tento levar toda lógica de negócio para a camada de Serviço

Hebert_Coelho

Veja se não existem lógica de telas repetidas. Com isso, você poderia isolar em uma classe apenas diminuindo o tamanho do seu MB.

leonardobhbr

Separe em camadas os meus projetos ficam da seguinte forma

Bean
Service
DAO
Entity

Criado 31 de janeiro de 2012
Ultima resposta 31 de jan. de 2012
Respostas 4
Participantes 5