Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — IV - UFG 2024

Arquitetura de SoftwareMVC (Model-view-controller)
Código
qg121434
Banca
IV - UFG
Órgão
TJ-AC
Ano
2024
Nível
Superior
Cargo
CS-UFG - - Analista Judiciário - Analista de Negócios de TI
O padrão de arquitetura Modelo-Visão-Controlador (MVC) é amplamente utilizado no desenvolvimento de aplicações web para separar a lógica de negócios da interface do usuário, facilitando a manutenção e a escalabilidade das aplicações.Em uma aplicação PHP, que utiliza o padrão MVC, as rotas são geralmente definidas:
  1. Aatravés de funções anônimas no arquivo de configuração do banco de dados.
  2. Bcomo métodos dentro dos modelos.
  3. Cem um arquivo ou conjunto de arquivos específicos para rotas, mapeando URLs a controladores e as ações.
  4. Ddentro dos arquivos de visão, utilizando tags especiais de template.
Revelar gabarito e comentário

GabaritoC — em um arquivo ou conjunto de arquivos específicos para rotas, mapeando URLs a controladores e as ações.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Rotas no MVC

Gabarito: letra C. Em uma aplicação PHP que segue o padrão MVC, as rotas são definidas em um arquivo específico de roteamento (ou conjunto deles), mapeando URLs para controladores e ações correspondentes. Essa separação é essencial para manter a organização e a clareza do fluxo de requisições.

Rotas no MVC
  • 1Onde definir
    • Arquivo(s) específico(s) de roteamento
    • Mapeia URL → Controlador + Ação
  • 2Onde NÃO definir
    • Model (lógica de dados)
    • View (apresentação)
    • Config. de BD (conexão/credenciais)
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Colocar funções anônimas no arquivo de configuração do banco de dados não faz sentido: a configuração do BD trata de conexão e credenciais, não de lógica de roteamento. No MVC, rotas não têm relação com o modelo de dados nesse nível.

Alternativa B — ❌ Incorreta

Os modelos (Models) são responsáveis pela lógica de negócios e manipulação dos dados, não pelo roteamento de URLs. Definir rotas dentro de modelos violaria a separação de responsabilidades proposta pelo MVC.

Alternativa C — ✅ Correta ⟵ GABARITO

A prática padrão em frameworks MVC (como Laravel, Symfony, etc.) é concentrar as definições de rota em um ou mais arquivos dedicados (ex.: routes/web.php), que associam cada URL a um controlador e a uma ação específica. Isso facilita a manutenção e o entendimento do fluxo da aplicação.

Alternativa D — ❌ Incorreta

As visões (Views) devem conter apenas a lógica de apresentação (HTML, CSS, etc.). Inserir definições de rota nas visões misturaria responsabilidades, dificultando a manutenção. As tags de template são para exibição de dados, não para roteamento.

Conclusão: A única alternativa que descreve corretamente onde as rotas são definidas no padrão MVC é a letra C.

Link permanente: /questoes/qg121434