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
qg121560
Banca
IV - UFG
Órgão
TJ-AC
Ano
2024
Nível
Superior
Cargo
CS-UFG - - Analista Judiciário - Analista de Sistemas
O padrão MVC (Model-View-Controller) é um padrão de arquitetura de software amplamente utilizado para projetar e desenvolver aplicativos que envolvem uma interface de usuário. Ele separa os componentes de um aplicativo em três partes principais: Model (Modelo), View (Visualização) e Controller (Controle). Essa divisão em três componentes separados permite uma maior modularidade, reutilização de código e manutenção do aplicativo. Além disso, o padrão MVC promove a separação de preocupações, o que facilita o desenvolvimento e a evolução do software. Qual padrão de projeto GOF é utilizado para facilitar a interação entre a camada de visualização (View) e a camada de modelo (Model) no padrão MVC?
  1. AAdapter.
  2. BFactory Method.
  3. CObserver.
  4. DProxy.
Revelar gabarito e comentário

GabaritoC — Observer.

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 e o GoF Observer

Gabarito: letra C (Observer). No padrão MVC, a interação entre a camada de Model e a camada de View é baseada no padrão de projeto Observer (GoF): o Model mantém uma lista de Views dependentes e as notifica automaticamente quando seu estado muda, permitindo que as Views se atualizem de forma consistente. Essa é a essência do mecanismo de notificação descrito no MVC clássico.

A questão cobra o conhecimento de que o padrão GoF utilizado para comunicação entre Model e View é o Observer. As demais alternativas representam outros padrões com propósitos distintos.

Padrão GoF

Função no MVC

Relação com a Questão

Observer

Notifica Views sobre mudanças no Model

Correto — Mecanismo central de comunicação Model→View

Adapter

Converte interfaces incompatíveis

❌ Não se aplica à notificação de estado

Factory Method

Cria objetos sem especificar classes concretas

❌ Padrão de criação, não de comunicação

Proxy

Controla acesso a outro objeto

❌ Não usado na interação Model-View

  1. 1Model muda de estado
  2. 2Notifica Views (Observer)
  3. 3Views se atualizam
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

O Adapter é usado para converter a interface de uma classe em outra interface esperada pelo cliente, permitindo que classes incompatíveis trabalhem juntas. Não tem relação com a notificação de mudanças de estado entre Model e View.

Alternativa B — ❌ Incorreta

O Factory Method define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. É um padrão de criação, não de comunicação entre componentes do MVC.

Alternativa C — ✅ Correta ⟵ GABARITO

O Observer define uma dependência um-para-muitos entre objetos, de modo que quando um objeto (Model) muda de estado, todos os seus dependentes (Views) são notificados e atualizados automaticamente. É exatamente o mecanismo usado no MVC para sincronizar Views com o Model.

Alternativa D — ❌ Incorreta

O Proxy fornece um substituto ou representante de outro objeto para controlar o acesso a ele. Não é utilizado para a comunicação direta entre Model e View no padrão MVC clássico.

Gabarito: letra C (Observer).

Link permanente: /questoes/qg121560