Pessoal, estou com algumas duvidas com relação à camada mvc. As actions, pertencem à camada de modelo ou controle. E por que? E a classe form? Pertenceria à qual camada.
Obrigado.
Pessoal, estou com algumas duvidas com relação à camada mvc. As actions, pertencem à camada de modelo ou controle. E por que? E a classe form? Pertenceria à qual camada.
Obrigado.
È o seguinte, primeiro, você está amarrando o MVC ao Struts, ao que vejo. Não é bem assim. Segundo, vc pode considerar a action como controller.
MVC é composto por 3 camadas. Os actions estão na camada de controle…
O Struts é um Framework que trabalha seguindo o Padrão MVC…
O Struts implementa o padrão MVC.
As classes Action estão na camada de controle, fazendo a ligação entre a camada de apresentação (JSP) e a camada de negócio (Session Bean, DAO, etc).
As classes ActionForm implementam um padrão TO (Transfer Object), que serve para transferir dados entre as camadas, no caso entre a camada de apresentação (JSP) e o controle (Action).
Pessoal, endenti. Valew pela ajuda. So queria pedir mais uma coisa.
Me corrijam se eu estiver errado:
A parte de persistencia e validação ficam na camada de controle, enquanto servlet e actions ficam na camada de controle. Mas como que poderia explicar em linhas gerais a diferença entre as camadas de controle e de modelagem. Qual partes especificas cada uma engloba.
Obrigado.
No MVC, a persistencia faz parte da camada de negócio (Model), mas nós costumamos falar que existe uma camada separada para a persistência.
As validações podem fazer parte da camada de apresentação (no caso de validações simples, como formatação de datas ou obrigatoriedade de atributos) ou da camada de negócio, se forem validações de regra de negócio (como a validar se um produto está disponível em estoque, por exemplo).
A diferença entre a camada de controle e a camada de negócio é que o controle é responsável por coordenar o fluxo de execução do caso de uso, e da troca de informação entre as camadas de apresentação e negócio. As regras de negócio e acesso a persistência são responsabilidade da camada de negócio.
Camadas e MVC são coisas bem diferentes, que podem ser complementares.
Aprendi de forma bem dolorosa que validação também deve estar presente na base de dados. :roll: Acho que validação é a única coisa que não me importo de duplicar ou triplicar.
Guto,
Eu recomento a apostila da Caelum para auxiliar a esclarecer suas duvidas:
Me auxiliou (e ainda auxilia) muito quando iniciei com JSP.
[]'s
[quote=AndreAlves]
As classes ActionForm implementam um padrão TO (Transfer Object), que serve para transferir dados entre as camadas.[/quote]
ou seja, não serve pra grande coisa…