Então a minha duvida é: Os frameworks ao usarem Controllers estão errados ou qualquer requisição HTTP é considerada uma action e isto tecnicamente seria ação do usuário (o que obrigaria as rotas a serem Controllers)?
Opinião pessoal, acho que controller em backend é algo que tende a deixar de existir, uma vez que tendo modelo que define regras de acesso e representação, vc precisa apenas de uma interface para entregar em algum protocolo como REST, WebSocket, ou formato não padrão (que é o único que se beneficia de uma controladora, normalmente substituível por um callback no router). MVC é uma separação de responsabilidades interessante, mas que fazia sentido quando não usava-mos SPA, hoje em dia adota-la tende a adicionar complexidade desnecessária no backend. Já no frontend é outra história :) – Gabriel Gartz 30/04/15 às 19:06
@GabrielGartz Parece bem lógico o seu comentário, eu procurei SPA, mas não achei, seria SOA (Service Oriented Architecture)? – Guilherme Nascimento♦ 1/05/15 às 0:33
SPA é Single Page Application (onde o seu site, se comporta como um aplicativo, carregando data e módulos da forma mais eficiente possível e apenas trafegando data para povoar a interface e operações que podem ser feitas no cliente em vez do servidor), normalmente está fortemente relacionada a um SOA ou SaaS. Mas estes são outra camada de arquitetura da sua aplicação, que podem ser desenvolvidos combinando com MVC ou outros padrões de arquitetura para obter os resultados desejados. – Gabriel Gartz 1/05/15 às 1:26
@GabrielGartz Eu analizei um framework não tão popular e sua documentação, o mini2, na versão 1 ele usava os controllers, mas na versão 2 ele usa apenas Views e Models combinado as funções anonimas para as rotas. – Guilherme Nascimento♦ 1/05/15 às 1:54