Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2026

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
gp045406
Banca
FCC
Órgão
MPE-AL
Ano
2026
Cargo
Analista do Ministério Público - Especialidade: Desenvolvimento de Sistemas
Para desenvolver um módulo de notificações processuais conforme o perfil do réu, o sistema deve atender aos seguintes requisitos:I. Instanciar diferentes tipos de alertas (e-mail, SMS, Push), permitindo a inclusão de novos tipos sem alteração do código existente;II. Garantir que o registrador de logs possua uma única instância global;III. Notificar automaticamente os objetos interessados sempre que o status de um processo for alterado.Considerando os padrões de projeto GoF, apresenta a combinação correta e respectiva de padrões para atender a esses requisitos.
  1. AFactory Method, Proxy e Chain of Responsibility.
  2. BFactory Method, Singleton e Observer.
  3. CPrototype, Bridge e Strategy.
  4. DBuilder, Facade e State.
  5. EAbstract Factory, Adapter e Command.
Revelar gabarito e comentário

GabaritoB — Factory Method, Singleton e 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ões GoF para Notificações Processuais

Gabarito: letra B. A combinação Factory Method (criação de alertas com extensibilidade), Singleton (instância única do logger) e Observer (notificação automática de mudanças de status) atende exatamente aos três requisitos listados.

A questão testa o conhecimento da finalidade de cada padrão GoF (Gang of Four). Cada requisito deve ser mapeado ao padrão que resolve aquele problema específico.

Análise dos requisitos

I. Instanciar diferentes tipos de alertas (e-mail, SMS, Push) com possibilidade de inclusão de novos tipos sem alterar o código existente

Isso descreve o padrão Factory Method. Ele define uma interface para criar um objeto, mas permite que subclasses decidam qual classe instanciar. Assim, o código cliente não depende das classes concretas – novos tipos de alerta são adicionados criando novas subclasses da fábrica, sem modificar o código existente. Alternativas como Abstract Factory também criam famílias, mas aqui há apenas uma família de produtos (alertas). Prototype e Builder não se aplicam.

II. Garantir que o registrador de logs possua uma única instância global

Essa é a definição do padrão Singleton. Ele assegura que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Exatamente o que o requisito pede.

III. Notificar automaticamente os objetos interessados sempre que o status de um processo for alterado

Isso é o padrão Observer. O sujeito (processo) mantém uma lista de observadores (objetos interessados) e os notifica automaticamente quando seu estado muda. É o padrão comportamental ideal para comunicação um-para-muitos sem acoplamento forte.

Padrões GoF para notificações
  • 1I. Criar alertas extensíveis
    • Factory Method ✅
    • Abstract Factory ❌ (família única)
  • 2II. Logger com instância única
    • Singleton ✅
  • 3III. Notificar mudança de status
    • Observer ✅
LEVEL · soulevel.com.br

Verificação das alternativas

Alternativa

Padrão I

Padrão II

Padrão III

Resultado

A

Factory Method ✅

Proxy ❌

Chain of Responsibility ❌

Errada: II e III trocados

B

Factory Method ✅

Singleton ✅

Observer ✅

Correta

C

Prototype ❌

Bridge ❌

Strategy ❌

Nenhum atende

D

Builder ❌

Facade ❌

State ❌

Nenhum atende

E

Abstract Factory ❌ (poderia atender I, mas menos específico)

Adapter ❌

Command ❌

Errada

Portanto, a única combinação que casa perfeitamente com os três requisitos é a da letra B.

Gabarito: letra B.

Link permanente: /questoes/gp045406