Com relação a padrões de projeto e GRASP, julgue o próximo i...
O padrão de projeto Strategy contém um objeto strategy que é análogo ao objeto state do padrão de projeto State. Contudo, o primeiro objeto encapsula um algoritmo, enquanto o segundo encapsula informações sobre o estado de um objeto.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Vamos analisar a questão apresentada sobre padrões de projeto e GRASP.
Gabarito: C (Certo)
A questão explora a comparação entre dois padrões de projeto muito conhecidos: Strategy e State. Esses padrões são frequentemente usados para diferentes propósitos, mas compartilham algumas similaridades que podem confundir os estudantes.
Primeiro, vamos entender o que cada padrão faz:
Strategy: Este padrão é utilizado quando você deseja definir uma família de algoritmos, encapsulá-los e torná-los intercambiáveis. O objeto strategy encapsula um algoritmo e permite que o algoritmo varie independentemente dos clientes que o utilizam. Usamos o Strategy, por exemplo, para definir diferentes métodos de ordenação (como ordenação por bolha e ordenação rápida) e poder alternar entre eles conforme necessário.
State: Este padrão é utilizado quando um objeto deve mudar seu comportamento de acordo com seu estado interno. O objeto state encapsula informações sobre o estado de um objeto e permite que o objeto altere seu comportamento quando seu estado muda. Um exemplo clássico é o de uma máquina de vendas automáticas que muda seu comportamento (como aceitar moedas, dispensar produtos, etc.) com base no estado atual (esperando moeda, produto selecionado, etc.).
Assim, a questão afirma corretamente que o padrão Strategy contém um objeto strategy que é análogo ao objeto state do padrão State, mas destaca que suas finalidades são distintas. O strategy encapsula um algoritmo, enquanto o state encapsula informações sobre o estado de um objeto.
Portanto, a alternativa correta é C (Certo) porque a explicação fornecida na questão está alinhada com a definição e a utilização dos padrões de projeto Strategy e State.
Espero que essa explicação tenha esclarecido as diferenças e semelhanças entre os padrões Strategy e State. Se ainda tiver dúvidas, sinta-se à vontade para perguntar!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Definições
Strategy: Permite que você defina uma família de algoritmos, coloque-os em classes separadas, e faça os objetos deles intercambiáveis.
State: Permite que um objeto altere seu comportamento quando seu estado interno muda. Parece como se o objeto mudasse de classe.
Portanto, item correto.
A questão fala com relação ao GRASP.
E esses são padrões do GoF.
Matquei de cara como ERRADO.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo