====== 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. ([[https://docs.google.com/document/d/1yS8zroPvdKoJuM8OU2TmcrTnVuYxggd4v1H2ThG2cc8/edit?hl=pt_BR#|Continuação temporariamente hospedada no Google DOCs]])