Questão de Arquitetura de Software — MVC (Model-view-controller) — IV - UFG 2024
Arquitetura de Software›MVC (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?
AAdapter.
BFactory Method.
CObserver.
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
1Model muda de estado
2Notifica Views (Observer)
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.