| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 08:54:15
|
J2Alex
JavaEvangelist
![[Avatar]](/images/avatar/f4be00279ee2e0a53eafdaa94a151e2c.png)
Membro desde: 18/01/2003 08:14:41
Mensagens: 348
Localização: São José dos Campos
Offline
|
Olá,
Estou estudando Webwork e estava vendo os exemplos das Actions e me ocorreu uma dúvida:
Nos exemplos do Webwork as validações dos campos são feitas nas actions, mas as validações não seriam responsabilidade da camada Model, ou estou falando besteira???
Grato.
|
Alexandre
Hoje tem Balada
https://apps.facebook.com/hojetembalada
Guia colaborativo de baladas, bares e restaurantes |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 08:56:23
|
Rafael Nunes
Moderador
![[Avatar]](/images/avatar/d072677d210ac4c03ba046120f0802ec.png)
Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline
|
As Actions são tua camada de regras de negócio, Model é tua camada de banco, num ambiente MVC2 não tem por que as validações ficarem no Model.
|
------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."
http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:05:35
|
J2Alex
JavaEvangelist
![[Avatar]](/images/avatar/f4be00279ee2e0a53eafdaa94a151e2c.png)
Membro desde: 18/01/2003 08:14:41
Mensagens: 348
Localização: São José dos Campos
Offline
|
Olá Rafael Nunes,
Não é bem isso que pessoal diz aqui http://www.guj.com.br/posts/list/18940.java
Mas, me confundo um pouco até que ponto devo separar as camadas...
|
Alexandre
Hoje tem Balada
https://apps.facebook.com/hojetembalada
Guia colaborativo de baladas, bares e restaurantes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:10:59
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Como assim, feitas na action, cara-palida?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:16:06
|
Rafael Nunes
Moderador
![[Avatar]](/images/avatar/d072677d210ac4c03ba046120f0802ec.png)
Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline
|
Bem, conforme foi discutido lá, eu não vejo problemas em deixar as validações na Action, quando é uma app simples(me precipitei afirmando em deixar as validações na Action sem especificar as situações), em sistemas mais complexos você cria teu domínio e a partir dele faz as validações e regras de negócio necessárias, creio que num ambiente assim tua Action serviria mais como um Business Delegate.
Só não vejo sentido em deixar validações para a tua camada Model.
É uma opção tua deixar ou não as validações na Action, só basta analisar o que isso pode lhe trazer futuramente.
|
------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."
http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:16:30
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Rafael Nunes wrote:As Actions são tua camada de regras de negócio, Model é tua camada de banco, num ambiente MVC2 não tem por que as validações ficarem no Model.
Posso clarificar umas coisas antes? "MVC2" nao existe. Ou voce esta falando de Model-View-Controller (MVC), ou vc ta falando de Model 2 (que eh um sinonimo de MVC de qqer forma).
Model nao eh "a camada de banco". O domain model eh onde fica (ou deveria ficar) toda a inteligencia de negocios do seus sistema, e isso provavelmente nao eh soh a persistencia pra justificar de chamar ela de "camada de banco", a menos que o seu sistema seja muuuuuuuito chato
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:20:29
|
J2Alex
JavaEvangelist
![[Avatar]](/images/avatar/f4be00279ee2e0a53eafdaa94a151e2c.png)
Membro desde: 18/01/2003 08:14:41
Mensagens: 348
Localização: São José dos Campos
Offline
|
Olá CV,
Falo de regras de negócio nas actions... isso me preocupa: e se amanhã eu resolvo utilizar outro framework MVC? Fico muito amarrado não fico?
Não tenho muita experiência com MVC2 e gostaria de entender qual a melhor forma de trabalhar.
Devo ter uma Action que chama um Servlet para processar regras de negócio? E a validação de campos (tipo e-mail inválido...) deve ser feita realmente nas actions? Se devo ter esse Servlet, ele deve chamar outra Action (do controller) pra depois direcionar para uma JSP?
É mais ou menos isso que estou com dúvidas...
Um exemplo de arquitetura cairia bem.
Grato.
|
Alexandre
Hoje tem Balada
https://apps.facebook.com/hojetembalada
Guia colaborativo de baladas, bares e restaurantes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:24:55
|
Rafael Nunes
Moderador
![[Avatar]](/images/avatar/d072677d210ac4c03ba046120f0802ec.png)
Membro desde: 09/10/2003 13:41:06
Mensagens: 2890
Localização: sao bernardo do campo
Offline
|
Caraleo, ou eu sou analfabeto funcional, ou aquele Struts in Action é muito tosco.
De qualquer forma, eu já utilizei o Struts e o Webwork em duas apps.
No Struts como eram operações CRUD e quase não haviam validações e regras de negócio, eu fazia tudo nas Actions. No Webwork eu utilizei as actions apenas como Business Delegates.
|
------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."
http://www.yaw.com.br
http://twitter.com/rafanunes
http://twitter.com/youandwe
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:29:32
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Esse livros são porigosos mesmo.
Estava lendo uma livro de EJB e ele dizia para colocar as regras de negócio nas Sessions Beans.
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:30:31
|
fmeyer
Moderador
Membro desde: 22/02/2005 17:26:29
Mensagens: 1583
Localização: Sao Paulo
Offline
|
jprogrammer wrote:Esse livros são porigosos mesmo.
Estava lendo uma livro de EJB e ele dizia para colocar as regras de negócio nas Sessions Beans.
Qual Livro ???
|
Fernando Meyer http://fernandomeyer.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:33:50
|
jprogrammer
Virtual Machine Man
Membro desde: 04/02/2005 13:49:20
Mensagens: 546
Offline
|
Era o aprenda J2EE em 21 dias.
Ele não dizia isso explicitamente mas era a ideia que ele passava.
Mas acredito que era apenas para smplificar a abordagem não que os autores estavam errados.
Pois o livro foca J2EE não programação OO.
|
O bom menino !!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:40:39
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
J2Alex wrote:Falo de regras de negócio nas actions... isso me preocupa: e se amanhã eu resolvo utilizar outro framework MVC? Fico muito amarrado não fico?
(...)
Um exemplo de arquitetura cairia bem.
No caso do WebWork, vc fica tao pouco amarrado que nao tem tanto problema (afinal, Action eh uma interfacezinha de nada e tal). Se voce for trocar de framework, suas actions provavelmente vao ter que sofrer um refactoring meio fortinho, entao nao adianta muito falar sobre isso: voce vai ter que mexer no codigo das actions de qualquer jeito caso tome uma decisao dessa, assim como voce teria que mexer alguma coisa no codigo do teu modelo caso resolvesse trocar o Hibernate por JDO.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 09:50:23
|
J2Alex
JavaEvangelist
![[Avatar]](/images/avatar/f4be00279ee2e0a53eafdaa94a151e2c.png)
Membro desde: 18/01/2003 08:14:41
Mensagens: 348
Localização: São José dos Campos
Offline
|
Certo CV,
Mas o que vc me diz: a lógica de negócio fica ou não nas actions? (Acho que já sei a resposta...)
Qual a melhor forma de se dividir as responsabilidades?
|
Alexandre
Hoje tem Balada
https://apps.facebook.com/hojetembalada
Guia colaborativo de baladas, bares e restaurantes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 10:12:32
|
pcalcado
Moderador
![[Avatar]](/images/avatar/110eec23201d80e40d0c4a48954e2ff5.jpg)
Membro desde: 08/03/2004 17:19:35
Mensagens: 5174
Localização: Sydney - Australia
Offline
|
Como o cv disse, as regras de negócio ficam no seu domain model (a menos que você não queira usar um domain model, e se for o caso por favor me explique sua idéia porque estou querendo saber mais sobre isso). Suas actions são fluxos customizados, numa aplicação pequena elas podem servir como camada de aplicação, que diz aos objetos de negócio o que elas querem (não como fazer).
Não coloque regra de negócio em actions a menos que você estja conscientemente produzindo um sistema altamente procedural e acoplado. Eu sei, vivo isso e sei a mer&$&% que é tentar reutilizar lógica neste ambiente.
|
Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/05/2005 10:23:42
|
J2Alex
JavaEvangelist
![[Avatar]](/images/avatar/f4be00279ee2e0a53eafdaa94a151e2c.png)
Membro desde: 18/01/2003 08:14:41
Mensagens: 348
Localização: São José dos Campos
Offline
|
Olá pcalcado,
É justamente o que eu estou pensando: a melhor maneira de reduzir as dependências, o acoplamento.
Como eu disse, não tenho tanta experiência com MVC (eu desenvolvia em ASP ) e estou buscando a melhor maneira de desenvolver software de fácil manutenção.
Pra camada view eu decidi usar o freemarker, até aí tudo bem. agora estou estudando Webwork, blz, entendi perfeitamente o seu funcionamento, so fiquei em dúvida com relação ao papel do controller e do model.
Pretendo usar Spring pra camada de negócios, mas ainda não comecei a estudar. Mas já estou divagando antecipadamente. Qualquer dica é bem vinda.
Grato.
|
Alexandre
Hoje tem Balada
https://apps.facebook.com/hojetembalada
Guia colaborativo de baladas, bares e restaurantes |
|
|
 |
|
|