Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2026
Arquitetura de Software›Padrõ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.
AFactory Method, Proxy e Chain of Responsibility.
BFactory Method, Singleton e Observer.
CPrototype, Bridge e Strategy.
DBuilder, Facade e State.
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.