← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

A analista Maria está desenvolvendo a funcionalidade C de uma aplicação, utilizando os padrões de projeto Gang of Four (GoF). Existem vários algoritmos, conhecidos e disponíveis, capazes de implementar a funcionalidade C. A aplicação deve deixar o usuário escolher qual algoritmo usar. Sendo assim, Maria decidiu aplicar na funcionalidade C o padrão GoF comportamental que modela algoritmos similares como objetos independentes, porém, passíveis de troca em tempo de execução. Maria decidiu aplicar o padrão GoF:

Gabarito: B

A questão descreve um cenário clássico em que existem vários algoritmos para resolver o mesmo problema e a aplicação precisa deixar o usuário escolher qual deles será usado. Isso é praticamente a “assinatura” do padrão Strategy: ele encapsula uma família de algoritmos, torna cada um independente e permite que eles sejam trocados em tempo de execução sem bagunçar o restante do sistema. Pense assim: a funcionalidade continua sendo a mesma, mas a forma de executá-la muda conforme a necessidade. Em vez de encher a classe principal de if/else para cada algoritmo possível, você delega essa decisão para objetos diferentes, cada um representando uma estratégia. É por isso que o gabarito é a letra B. O GoF define Strategy como um padrão comportamental que “define uma família de algoritmos, encapsula cada um deles e os torna intercambiáveis”. Essa é exatamente a situação narrada no enunciado. Aqui não há estrutura de mensagens entre objetos, nem interpretação de linguagem, nem esqueleto fixo de algoritmo, nem visitante atravessando uma estrutura de objetos. É troca de algoritmo mesmo, com jeitinho elegante e sem drama.

Continue treinando

Questões relacionadas