Consequências

(org.futurepages.consequences)

Para utilizarmos o padrão MVC, separando de fato nossa lógica da visão da de modelo, é necessário a utilização de um artifício conhecido por “Consequência”, conceito existente na grande maioria dos frameworks MVC do mercado.

O conceito de “Consequência ” está intimamente ligado ao de um “response” de uma requisição, ou seja, apartir desta alusão, podemos dizer que a consequência está para a action assim com a resposta está para a requisição. A “Consequência” é quem vai com Trata-se da aplicação do que foi retornado do modelo, por intermédio do controle.

A “Consequência” é quem fará uso do output da action.

No futurepages todas as consequências devem implementar a seguinte interface:

  • org.futurepages.core.consequence.Consequence

Nas nossas classes “ModuleManager” configuramos nossas actions e suas rotas no método “loadAction()”. Quando definimos o path da action e sua referida classe, como no exemplo do quadro a seguir…

  • No ModuleManager:
    • redir(String pagePath)
    • redir(String pagePath, boolean redirectParams)
    • redir(String moduleId, String pagePath)
    • redir(String moduleId, String pagePath, boolean redirectParams);
    • rdIn(String pagePath);
    • rdIn(String pagePath, boolean redirectParams);
  • Exemplos: * on(SUCCESS, redir(“escola”, “Aluno.fpg?type=explore”)
    • on(SUCCESS, redir(“modules/escola/Aluno.fpg?type=explore”)
    • on(SUCCESS, redIn(“Aluno.fpg?type=explore”)
    • on(SUCCESS, redIn(“Aluno.fpg?type=explore”, true)

Nas nossas classes “ModuleManager” configuramos nossas actions e suas rotas no método “loadAction()”. Quando definimos o path da action e sua referida classe, como no exemplo do quadro a seguir…

  action(“Aluno”, AlunoActions.class) ; //neste caso, não foram definidas as consequências.


…precisamos definir quais serão as consequências da execução de cada método daquela action.

(Continuação temporariamente hospedada no Google DOCs)

 
/var/www/html/wiki/data/pages/futurepages2/consequences.txt · Última modificação: 2011/04/02 23:54 (edição externa)
 
Exceto onde for informado ao contrário, o conteúdo neste wiki está sob a seguinte licença:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki