Para melhor entender o padrão MVC (Model-ViewController) es...

Próximas questões
Com base no mesmo assunto
Q846260 Arquitetura de Software

Para melhor entender o padrão MVC (Model-ViewController) estuda-se as relações existentes entre seus elementos. Quanto às possíveis relações, ou associações, existentes entre os três objetos do MVC, assinale a alternativa que apresenta as afirmações abaixo que são tecnicamente verdadeiras:


I. View se associa diretamente com o objeto Controller.

II. Controller possui associação indireta com o objeto Model.

III. View se associa diretamente com o objeto Model.

IV. Model possui associação indireta com o objeto View.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é C - somente a III e IV. Vamos entender o porquê.

O padrão MVC (Model-View-Controller) é uma arquitetura de software que separa a aplicação em três componentes principais:

  • Model: Responsável pela lógica de dados da aplicação. O Model encapsula os dados e as regras de negócio.
  • View: Responsável pela apresentação dos dados ao usuário. A View exibe a interface gráfica e depende do Model para obter os dados a serem exibidos.
  • Controller: Intermediário que recebe as entradas do usuário e as processa, atualizando o Model e alterando a View conforme necessário.

Agora, vamos analisar cada uma das afirmações:

I. View se associa diretamente com o objeto Controller.

Essa afirmação está incorreta. No padrão MVC, a View não se comunica diretamente com o Controller, mas sim com o Model.

II. Controller possui associação indireta com o objeto Model.

Essa afirmação está incorreta. No padrão MVC, o Controller interage diretamente com o Model para manipular os dados conforme as entradas do usuário.

III. View se associa diretamente com o objeto Model.

Essa afirmação está correta. A View obtém os dados diretamente do Model para exibir ao usuário.

IV. Model possui associação indireta com o objeto View.

Essa afirmação está correta. O Model não interage diretamente com a View, mas notifica mudanças que a View observa e reage a essas mudanças.

Portanto, a alternativa C - somente a III e IV - é a resposta correta. As demais alternativas não apresentam combinações de afirmações que sejam tecnicamente verdadeiras de acordo com o padrão MVC.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

"Fonte" da banca: https://pt.wikipedia.org/wiki/MVC

Ainda não tinha visto isso.

 

Algo parecido que estudei é que, diferentemente da arquitetura cliente-servidor em camadas - em que a comunicação é sequencial -, no MVC os componentes se comunicam entre si. Mas isso de indiretamente ligado não conheço.  

https://pt.m.wikipedia.org/wiki/MVC#/media/Ficheiro%3AModelViewControllerDiagram2.svg

Um diagrama simples exemplificando a relação entre ModelView e Controller. As linhas sólidas indicam associação direta e as tracejadas indicam associação indireta.

WTF? As alternativas III e IV não se contradizem?

letra C

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo