14.7. Application Controller
Ponto central que decide o fluxo de telas e comandos.
Resumo
- Centraliza o fluxo da aplicação: qual lógica executar e qual tela mostrar a seguir.
- Controladores de entrada (Page/Front) delegam a ele as decisões de navegação.
- Decide com base no estado do objeto/sessão e no evento (ex.: máquina de estados, metadados).
- Independente da UI: o mesmo fluxo pode servir web e outras interfaces.
- Use só quando a navegação é complexa (assistentes, fluxos que dependem do estado).
Perguntas-chave
responda de cabeça, depois abraQuais as duas decisões do Application Controller?
Qual lógica de domínio (comando) executar e qual visão exibir.
Quando ele não vale a pena?
Quando a ordem das telas é simples e fixa; Page ou Front Controller bastam.
Ele deve depender da tecnologia de UI?
Idealmente não, para poder ser reusado e testado.
Exercícios de fixação
0/5 respondidas1.
Em um sistema de sinistros, a próxima tela depende do tipo de seguro, do valor e das respostas anteriores. Onde concentrar essa decisão?
2.
Como o Application Controller se relaciona com os controladores de entrada?
3.
Um site de 4 telas em ordem fixa precisa de Application Controller?
4.
Qual característica desejável do Application Controller?
5.
Em que o Application Controller costuma basear a decisão da próxima tela?