Pular para o conteúdo principal

Questão de Engenharia de Software — Frameworks — Quadrix 2024

Engenharia de SoftwareFrameworks
Código
qg347317
Banca
Quadrix
Órgão
CFP
Ano
2024
Nível
Superior
Cargo
Analista Técnico/TI/Desenvolvimento
Em relação ao padrão MVC e às ferramentas Vue.js e Alpine.js, julgue o item seguinte.O model, componente do MVC, é responsável por renderizar a saída visual da aplicação.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

Padrão MVC: responsabilidades de Model, View e Controller

Gabarito: ERRADO. No padrão MVC, quem renderiza a saída visual da aplicação é a View (Visão), não o Model. O Model é responsável por gerenciar os dados e as regras de negócio da aplicação, mantendo o estado e notificando a View sobre alterações. Essa é a definição clássica do padrão, amplamente cobrada em concursos.

O padrão MVC (Model-View-Controller) é um dos estilos arquiteturais mais conhecidos e cobrados em provas de Engenharia de Software. Ele separa a aplicação em três componentes com responsabilidades bem definidas, o que promove alta coesão e baixo acoplamento. Vamos entender cada um:

  • Model (Modelo): é o componente que representa o estado da aplicação e contém as regras de negócio. Ele gerencia os dados, acessa fontes de dados (como bancos de dados) e implementa a lógica de processamento específica da aplicação. O Model não sabe nada sobre a interface do usuário; ele apenas notifica a View quando seus dados mudam.

  • View (Visão): é responsável pela apresentação dos dados ao usuário. Ela renderiza a saída visual, ou seja, exibe as informações vindas do Model. A View é a interface com o usuário, e sua função é exclusivamente exibir os dados, sem processar regras de negócio.

  • Controller (Controlador): atua como intermediário entre a View e o Model. Ele recebe as entradas do usuário (cliques, teclas, etc.), processa essas requisições (quando necessário) e coordena o fluxo de dados entre a View e o Model. O Controller seleciona a View apropriada e solicita ao Model as informações necessárias.

A confusão entre as responsabilidades de Model e View é uma pegadinha clássica de banca. Muitas questões trocam os papéis: dizem que o Model renderiza a saída visual, quando na verdade isso é função da View. O Model é o "cérebro" da aplicação (dados e regras), enquanto a View é a "cara" (apresentação).

Para fixar, veja a tabela comparativa:

Componente

Responsabilidade principal

Exemplo prático

Model

Gerenciar dados e regras de negócio

Calcular o total de um pedido, validar CPF, acessar o banco de dados

View

Renderizar a saída visual (interface)

Exibir uma lista de produtos, mostrar um formulário de login

Controller

Receber entradas do usuário e coordenar o fluxo

Processar o clique em um botão, chamar o Model e atualizar a View

No contexto de frameworks como Vue.js e Alpine.js, o padrão MVC é frequentemente adaptado. O Vue.js, por exemplo, é um framework progressivo que implementa o padrão MVVM (Model-View-ViewModel), uma variação do MVC. No MVVM, a ViewModel substitui o Controller e é responsável por expor os dados do Model para a View, facilitando a reatividade. O Alpine.js, por sua vez, é uma ferramenta leve que permite adicionar comportamento reativo a interfaces HTML, seguindo uma abordagem similar ao MVVM. Mas, independentemente da variação, a responsabilidade de renderizar a saída visual permanece com a View (ou com a ViewModel, que prepara os dados para a View).

A banca Quadrix, nesta questão, explora exatamente a confusão entre Model e View. O enunciado afirma que o Model é responsável por renderizar a saída visual, o que é incorreto. A View é quem faz isso. O Model apenas fornece os dados que serão exibidos.

Item — ❌ ERRADO

A afirmação está errada porque atribui ao Model uma responsabilidade que é da View. No MVC, o Model é o componente que gerencia os dados e as regras de negócio, enquanto a View é responsável por renderizar a saída visual da aplicação. O Model não interage diretamente com o usuário; ele apenas mantém o estado e notifica a View sobre mudanças, para que ela se atualize. Portanto, a frase "O model, componente do MVC, é responsável por renderizar a saída visual da aplicação" é falsa.

PEGA ESSA DICA!

Para não errar em questões sobre MVC, lembre-se do papel de cada componente: Model = dados e regras de negócio; View = apresentação (renderização); Controller = intermediário (recebe entradas e coordena). Quando a questão falar em "renderizar", "exibir", "interface", a resposta é View. Quando falar em "regras de negócio", "estado", "dados", a resposta é Model. Essa distinção é a chave para acertar a maioria das questões sobre o tema.

Gabarito: ERRADO

Link permanente: /questoes/qg347317