Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FUNDATEC 2023

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
qq894238
Banca
FUNDATEC
Órgão
IF-SC
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Em Padrões de Projetos de Software ou Design Patterns, o padrão é uma descrição de conhecimento e experiência, uma solução já aprovada para um problema comum. Um padrão muito conhecido separa o display do estado de um objeto a partir do objeto em si e permite que sejam fornecidos displays alternativos. Quando o estado do objeto muda, todos os displays são automaticamente notificados e atualizados para refletir a mudança. Qual é o nome desse padrão?
  1. AFactory Method.
  2. BSingleton.
  3. CDecorator.
  4. DObserver.
  5. EFacade.
Revelar gabarito e comentário

GabaritoD — 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 Observer (Observador)

Gabarito: letra D (Observer). O padrão descrito é o Observer, que define uma dependência um-para-muitos entre objetos, de modo que quando um objeto (sujeito) muda de estado, todos os seus dependentes (observadores) são notificados e atualizados automaticamente. É exatamente o que o enunciado descreve: separar o display do estado do objeto e permitir displays alternativos que são notificados quando o estado muda.

O padrão Observer é um dos 23 padrões GoF, classificado como padrão comportamental. Sua intenção é definir uma dependência um-para-muitos entre objetos para que, quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente.

Alternativa A — ❌ Incorreta (Factory Method)

Factory Method é um padrão criacional que define uma interface para criar um objeto, mas permite que as subclasses decidam qual classe instanciar. Não tem relação com notificação de mudanças de estado.

Alternativa B — ❌ Incorreta (Singleton)

Singleton é um padrão criacional que garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Não envolve múltiplos displays nem notificação.

Alternativa C — ❌ Incorreta (Decorator)

Decorator é um padrão estrutural que permite adicionar responsabilidades a um objeto dinamicamente, sem alterar sua interface. Embora possa envolver composição, não tem o mecanismo de notificação automática descrito.

Alternativa D — ✅ Correta (Observer) ⟵ GABARITO

O Observer separa o estado do objeto (sujeito) dos seus displays (observadores). Quando o estado muda, todos os observadores são notificados e atualizados automaticamente. Exemplo clássico: interfaces gráficas que atualizam múltiplas visões de um mesmo modelo.

Alternativa E — ❌ Incorreta (Facade)

Facade é um padrão estrutural que fornece uma interface simplificada para um conjunto de interfaces de um subsistema. Não se relaciona com notificação de mudanças.

PEGA ESSA DICA!

Para identificar o padrão Observer na prova, procure palavras como "notificar", "atualizar automaticamente", "displays alternativos", "dependência um-para-muitos". Ele é o único padrão que descreve esse comportamento de "publicar-assinar" (publish-subscribe).

Gabarito: letra D (Observer).

Link permanente: /questoes/qq894238