Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESPE / CEBRASPE 2026
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
ce228775
Banca
CESPE / CEBRASPE
Órgão
TCE-MG
Ano
2026
Nível
Superior
Cargo
Analista de Controle Externo - Especialidade: Ciência da Computação
Um grupo de especialistas estava desenvolvendo um sistema de cadastro de magistrados e servidores. Durante uma análise, perceberam que há diversas formas de validar dados e que novas regras podem surgir frequentemente. Para evitar que o código da classe principal sofra alterações constantes, o grupo desenvolvedor decidiu encapsular as regras de validação em classes separadas e permitir que o sistema troque dinamicamente o método de validação usado.A partir da situação hipotética precedente, é correto afirmar que o padrão de projeto mais adequado para essa solução é o
Aobserver.
Bsingleton.
Cstrategy.
Dcomposite.
Eprototype.
Revelar gabarito e comentário▾
GabaritoC — strategy.
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 de Projeto: Strategy
Gabarito: letra C. O padrão Strategy é a solução mais adequada para a situação descrita, pois permite encapsular algoritmos (regras de validação) em classes separadas e torná-los intercambiáveis dinamicamente, sem modificar o código da classe principal. Isso é exatamente o que o enunciado propõe: encapsular as regras de validação em classes separadas e permitir a troca dinâmica do método de validação.
O padrão Strategy define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis. Ele permite que o algoritmo varie independentemente dos clientes que o utilizam. No caso, as diferentes formas de validar dados são os algoritmos, e o sistema pode escolher qual usar em tempo de execução.
Padrão de Projeto
Categoria (GoF)
Propósito Principal
Aplicação no Problema
Adequação
Strategy
Comportamental
Encapsular uma família de algoritmos, tornando-os intercambiáveis
Encapsular regras de validação em classes separadas e permitir troca dinâmica
✅ Correta
Observer
Comportamental
Notificar múltiplos objetos sobre mudanças de estado
Não se aplica (foco em comunicação, não em algoritmos variáveis)
❌ Incorreta
Singleton
Criacional
Garantir uma única instância e ponto de acesso global
Não resolve variação de algoritmos
❌ Incorreta
Composite
Estrutural
Tratar objetos individuais e composições de forma uniforme
Não se aplica (foco em hierarquias parte-todo)
❌ Incorreta
Prototype
Criacional
Criar objetos por clonagem a partir de um protótipo
Não encapsula comportamentos variáveis
❌ Incorreta
Padrões GoF (comportamentais)
1Strategy
Encapsula algoritmos
Intercambiáveis em execução
Cliente não é alterado
2Observer
Notifica mudanças de estado
3Composite
Hierarquia parte-todo
4Prototype
Clonagem de objetos
5Padrões GoF (criacionais)
Singleton
Única instância global
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O padrão Observer é usado para notificar múltiplos objetos sobre mudanças de estado em outro objeto. Não se aplica ao encapsulamento de algoritmos variáveis, mas sim a comunicação entre objetos.
Alternativa B — ❌ Incorreta
O padrão Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Não resolve o problema de variação de algoritmos.
Alternativa C — ✅ Correta ⟵ GABARITO
O padrão Strategy encapsula algoritmos intercambiáveis. A descrição do problema — "encapsular as regras de validação em classes separadas e permitir que o sistema troque dinamicamente o método de validação usado" — é a definição clássica de aplicação do Strategy.
Alternativa D — ❌ Incorreta
O padrão Composite é usado para tratar objetos individuais e composições de objetos de maneira uniforme, formando hierarquias parte-todo. Não se aplica à troca dinâmica de algoritmos.
Alternativa E — ❌ Incorreta
O padrão Prototype é usado para criar novos objetos a partir de um protótipo (clonagem), não para encapsular comportamentos variáveis.
PEGA ESSA DICA!
Para identificar o padrão Strategy na prova, procure por palavras-chave como "encapsular algoritmos", "família de algoritmos", "intercambiáveis", "trocar dinamicamente o comportamento". Esse é um dos padrões mais cobrados da categoria comportamental do GoF.