Action e ações auxiliares  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
hlegius
JavaChild
[Avatar]

Membro desde: 07/05/2006 14:29:25
Mensagens: 114
Localização: Guarulhos, SP
Offline

Salve !
Tenho um cenário simples, mas que me deixa com dúvidas:

Há uma Action. A responsabilidade dela é cadastrar um usuário. Então seguindo um fluxo básico:

1. Ela recebe o evento da tela (submit do form)
2. Recebe os parameters - considerando uma ServletResponse mesmo
3. Chama o repository - ou o container, enfim...
4. executa um repository.adiciona(new User(...))
5. Verifica se adicionou e então salva session
5.0.1 manda pra outra página (de logado) [fim]
5.1. Em caso de falhas pegue-as e salve no request.setAttribute() para mandar ao usuário
5.1.1 exibe a página de falha [fim]

Sem contar que essa mesma action pode ser também o caminho para abertura da página (sem o post do formulário) tornando as coisas meio bagunçadas na pobre action.

Daí o que eu fiz ? Criei um:



que executa os passos quando o botão do post for acionado. Ficou bem limpo, legal. Mas e quando essa Action possuir tantos outros métodos ? Continuará a mesma bagunça !
Não faz sentido o uso de Services, pois é request.getParameter() pra todo lado. É "interface", não é domínio ainda.
Seguir a ideia original do Servlet - um Servlet para cada JSP, para mim é loucura - tanto que os frameworks abstraem isso para tornar uma Action por módulo =P (e dale web.xml também)

Eu pensei uma Facade. Sei lá, funcionaria e eu poderia ter uma Facade por módulo. Por hora não tenho mais ideias... talvez eu esteja até, viajando :/


Sugestões ?


Abraços !

http://programe.me
Zend Certified Engineer
ArchLinux - A simple lightweight Linux Distribution
[WWW] [MSN] [ICQ]
Fierodd
Thread.start()
[Avatar]

Membro desde: 09/04/2005 22:34:46
Mensagens: 39
Offline

Olá ... não sei se entendi direito a dúvida ... caso vc permaneça com a estrategia de uma action por módulo vc continuaria adicionando métodos pertinentes à usuários a essa action correto?

por exemplo, métodos como deletaUser(...) ou atualizaUser(...)

cada método com uma tarefa específica, aglutinados numa mesma action.

Qual o problema que vc está enfrantando nessa abordagem? Não entendi sua idéia do Facade, seria pra realizar a chamada correta a cada um desses métodos?
[MSN]
hlegius
JavaChild
[Avatar]

Membro desde: 07/05/2006 14:29:25
Mensagens: 114
Localização: Guarulhos, SP
Offline

Então, o problema é que em alguns módulos a action fica imensa hahaha !
Mas eu acho que é brisa minha mesmo :/

A ideia da facade seria limitar não aglomerar muito as coisas na action, mas acho que daria na mesma no final das contas...

http://programe.me
Zend Certified Engineer
ArchLinux - A simple lightweight Linux Distribution
[WWW] [MSN] [ICQ]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team