Padrão de Projeto Strategy
Gabarito: letra D. O padrão Strategy define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis, permitindo que o comportamento do algoritmo varie independentemente dos clientes que o utilizam. É um padrão comportamental que promove a substituição de algoritmos em tempo de execução.
A banca testa o conhecimento das definições clássicas dos padrões de projeto do GoF. Cada alternativa descreve um padrão diferente: Command, Builder, Observer e, por fim, Strategy (correta).
Alternativa A — ❌ Incorreta
Esta descrição corresponde ao padrão Command, que encapsula uma solicitação como um objeto, permitindo parametrizar clientes com diferentes solicitações, filas, logs e operações de desfazer/refazer.
Alternativa B — ❌ Incorreta
A alternativa descreve o padrão Builder, que separa a construção de um objeto complexo de sua representação, permitindo criar diferentes representações do mesmo objeto passo a passo.
Alternativa C — ❌ Incorreta
Essa é a definição do padrão Observer, que estabelece uma dependência um-para-muitos entre objetos, de modo que quando um objeto muda de estado, todos os seus dependentes são notificados automaticamente.
Alternativa D — ✅ Correta ⟵ GABARITO
A alternativa define exatamente o padrão Strategy: uma família de algoritmos encapsulados e intercambiáveis, permitindo variar o comportamento em tempo de execução. É um padrão comportamental que favorece o princípio de aberto/fechado (Open/Closed Principle) e a substituição de algoritmos sem modificar o cliente.
Conclusão: O padrão Strategy tem como finalidade definir uma família de algoritmos, encapsulá-los e torná-los intercambiáveis. Portanto, a alternativa correta é a letra D.