Questão de Arquitetura de Software — MVC (Model-view-controller) — FUNDATEC 2023
Arquitetura de Software›MVC (Model-view-controller)
Código
qq896853
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Microsoft
Qual é o papel da camada Model no padrão MVC e como ela se relaciona com as outras camadas?
AA camada Model é responsável por apresentar os dados para a camada Controller, que os manipula antes de enviá-los para a View.
BA camada Model é responsável pela lógica de negócios da aplicação e interage com o banco de dados, enviando e recebendo dados. Ela se comunica com as camadas View e Controller por meio de interfaces.
CA camada Model é responsável por gerenciar a interface com o usuário, apresentando os dados em telas e capturando entradas. Ela se comunica com as camadas Controller e Model por meio de eventos.
DA camada Model é responsável por transformar os dados em formato JSON para que sejam consumidos pela camada View. Ela se comunica com as camadas Controller e View por meio de APIs.
EA camada Model é responsável pela segurança da aplicação, gerenciando as permissões de acesso aos dados. Ela se comunica com as camadas View e Controller por meio de criptografia.
Revelar gabarito e comentário▾
GabaritoB — A camada Model é responsável pela lógica de negócios da aplicação e interage com o banco de dados, enviando e recebendo dados. Ela se comunica com as camadas View e Controller por meio de interfaces.
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”.
MVC (Model-View-Controller)
Gabarito: letra B. A camada Model é responsável pela lógica de negócios da aplicação e pela manipulação dos dados (incluindo interação com o banco de dados), comunicando-se com as camadas View e Controller por meio de interfaces. As demais alternativas atribuem ao Model funções que pertencem às outras camadas.
O padrão MVC separa a aplicação em três componentes: Model (lógica de negócio e dados), View (apresentação) e Controller (intermediação e controle de fluxo). O Model encapsula as regras de negócio, o estado do sistema e gerencia a persistência dos dados. Ele não se preocupa com a apresentação nem com a entrada do usuário; essas responsabilidades são da View e do Controller, respectivamente.
MVC: Model (Lógica de negócio, Dados e persistência, Comunicação por interfaces); View (Apresentação, Interface com usuário); Controller (Intermediação, Controle de fluxo)
Alternativa A — ❌ Incorreta
Afirma que o Model apresenta dados ao Controller, que os manipula antes de enviá-los à View. Na verdade, a apresentação dos dados é função da View, e o Controller apenas coordena o fluxo, não manipula dados antes de enviá-los à View. O Model fornece dados diretamente à View (com mediação do Controller) e não tem função de apresentação.
Alternativa B — ✅ Correta ⟵ GABARITO
Descreve corretamente o papel do Model: lógica de negócios, interação com o banco de dados, e comunicação por interfaces (geralmente através de eventos ou chamadas de método) com View e Controller. O Model é independente das camadas de apresentação e controle.
Alternativa C — ❌ Incorreta
Atribui ao Model a responsabilidade por gerenciar a interface com o usuário e apresentar dados em telas. Essa é a função da View. O Model não lida com entrada/saída de usuário.
Alternativa D — ❌ Incorreta
Diz que o Model transforma dados em JSON para consumo pela View. Embora saídas em JSON sejam comuns em APIs REST, essa não é a função essencial do Model; a transformação pode ser feita pelo Controller ou por uma camada de serialização. O papel principal do Model é gerenciar a lógica de negócio e os dados.
Alternativa E — ❌ Incorreta
Afirma que o Model é responsável pela segurança e gerenciamento de permissões. Segurança é uma preocupação transversal, mas não é a responsabilidade primária do Model. O Model pode conter regras de negócio que envolvam segurança, mas não é sua função exclusiva.
PEGA ESSA DICA!
Para memorizar as responsabilidades de cada camada no MVC, pense: Model = o que o sistema faz (lógica e dados); View = o que o usuário vê (interface); Controller = como o usuário interage (entrada e fluxo). Na prova, desconfie de alternativas que trocam essas funções.