Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2017
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
fc038609
Banca
FCC
Órgão
TRF - 5ª REGIÃO
Ano
2017
Nível
Superior
Cargo
Analista Judiciário - Informática Desenvolvimento
O padrão de projeto comportamental que define uma dependência de um-para-muitos entre objetos de modo que, quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente é o
AFacade.
BObserver.
CAdapter.
DAbstract Factory.
EPrototype.
Revelar gabarito e comentário▾
GabaritoB — 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 de projeto: Observer
Gabarito: letra B. O enunciado descreve exatamente o padrão Observer (GoF), que é um padrão comportamental. Ele estabelece uma relação de um-para-muitos entre objetos: quando o sujeito (subject) muda de estado, todos os seus observadores (observers) são notificados automaticamente. As demais alternativas são de outras categorias (Facade e Adapter: estruturais; Abstract Factory e Prototype: criacionais).
O padrão Observer é um dos 24 padrões GoF (Gang of Four) e pertence à família dos padrões comportamentais. Ele é amplamente utilizado em frameworks de eventos e na arquitetura MVC (Model-View-Controller), onde a view se registra como observadora do model.
Padrões GoF
1Comportamentais
Observer
Relação 1-para-muitos
Subject notifica observers
Ex.: MVC (view observa model)
2Estruturais
Facade (interface simplificada)
Adapter (conversão de interface)
3Criacionais
Abstract Factory (família de objetos)
Prototype (clonagem)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
Facade é um padrão estrutural que fornece uma interface simplificada para um subsistema complexo. Não se aplica à notificação de dependentes.
Alternativa B — ✅ Correta ⟵ GABARITO
Observer é o padrão que define a dependência um-para-muitos e a notificação automática de mudanças de estado.
Alternativa C — ❌ Incorreta
Adapter é um padrão estrutural que converte a interface de uma classe em outra interface esperada pelo cliente. Não envolve notificação de dependentes.
Alternativa D — ❌ Incorreta
Abstract Factory é um padrão criacional que fornece uma interface para criar famílias de objetos relacionados sem especificar suas classes concretas. Não é comportamental nem tem notificação.
Alternativa E — ❌ Incorreta
Prototype é um padrão criacional que permite criar novos objetos a partir de um protótipo, clonando instâncias. Não se relaciona com notificação de mudanças.