| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/09/2011 21:25:31
|
efcjunior
Virtual Machine Man
Membro desde: 14/12/2006 20:38:28
Mensagens: 520
Offline
|
Gente...
Tenho procurado entender como projetar uma aplicação em camadas.
Consegui compreender que se tratando de uma aplicação web JSF eu posso ter as seguintes divisões de camadas implementando o padrão MVC
[VIEW] e [Controller]:
-apresentação ---> xhtml...etc.
-Nesse caso, o backbean é responsável por gerenciar as minhas telas e fazer chamadas a camada de serviço
[Model]
-service ---> camada responsável por fazer a comunição entre a view e a dao, fazendo tratamentos e conversões de dados, passando os dados de maneira clara para ambas as camadas - (regra de negócio)
-DAO ou Repository - Acesso aos dados
---
Para concluir, uma das soluções para diminuir o acoplamento entre as camadas é usar o padrão IOC - DI Spring 3. Penso que posso fazer injecção de depencia tanto da da view para service como da service para dao.
No que puderem contribuir agradeço...
Abraços!!!
|
Sun Certified Java Programmer 98% |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/09/2011 12:59:54
|
efcjunior
Virtual Machine Man
Membro desde: 14/12/2006 20:38:28
Mensagens: 520
Offline
|
up!
O tópico ficou escondido!
|
Sun Certified Java Programmer 98% |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/09/2011 15:30:54
|
Giulliano
GUJ Master
![[Avatar]](/images/avatar/7f5a17b792b687fc4c227a5c5e569dd8.jpg)
Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline
|
Aplicações "Component-Based" que é o caso do JSF encapsula algumas camadas e possibilita um desenvolvimento mais rápido. Utilizando JSF você tem um ciclo de 7 fases que cuida de conversões, validações, transformações e etc...
Já uma aplicação "Action-based" que é o caso do Struts, vc normalmente declara classes responsáveis por fazer a comunicação entre modelo, apresentação e controlador.
Para que fique mais claro, no JSF vc não possui um controlador, já que o framework se encarrega de associar a sua apresentação com o seu "bean". E apenas como comentário à sua pergunta, modelo não é onde você comunica "view e dao", modelo é todo o conceito de negócio que existe na sua aplicação.
|
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi
<UnTouChAbLe> |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2011 07:01:49
|
efcjunior
Virtual Machine Man
Membro desde: 14/12/2006 20:38:28
Mensagens: 520
Offline
|
Giulliano wrote:Aplicações "Component-Based" que é o caso do JSF encapsula algumas camadas e possibilita um desenvolvimento mais rápido. Utilizando JSF você tem um ciclo de 7 fases que cuida de conversões, validações, transformações e etc...
Já uma aplicação "Action-based" que é o caso do Struts, vc normalmente declara classes responsáveis por fazer a comunicação entre modelo, apresentação e controlador.
Para que fique mais claro, no JSF vc não possui um controlador, já que o framework se encarrega de associar a sua apresentação com o seu "bean". E apenas como comentário à sua pergunta, modelo não é onde você comunica "view e dao", modelo é todo o conceito de negócio que existe na sua aplicação.
1- O backbean pertence a qual camada ?
2- Uma vez que o JSF já tem suas validações, não preciso tê-las na camada service ?
|
Sun Certified Java Programmer 98% |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2011 09:18:12
|
Giulliano
GUJ Master
![[Avatar]](/images/avatar/7f5a17b792b687fc4c227a5c5e569dd8.jpg)
Membro desde: 14/11/2006 19:29:38
Mensagens: 1627
Localização: São Paulo
Offline
|
O "BackingBean" é o seu contolador. É ele quem faz as chamadas para o seu modelo.
As validações do JSF garantem que nenhum dado que venha de uma página JSF esteja inválido, porém a partir do momento que você deseja expor algum método como serviço, esta validação não será válida. Aqui cabe um pouco de análise, será que seu sistema irá expor os seus "services" além das chamadas para as páginas do JSF. Se sim, será necessário validar tudo de novo.
Existem dois tipos de validação, as validações técnicas (verificar nullpointer, verificar data, verificar bigdecimal) e validações de negócio, procure separa-las para ter um melhor reaproveitamento.
|
Oracle Certified Master, Java EE 5 Enterprise Architect
Oracle Certified Professional Java Programmer
GiuLLianO MoRRoNi
<UnTouChAbLe> |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/09/2011 09:51:35
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Sim...vc esta no caminho certo...
Para clarear mais as ideias, leia o livro DDD do Eric Vans, uma vez que ele aborta o padrão de camadas em aplicações corporativas.
|
Fernando Franzini |
|
|
 |
|
|