Sobre o padrão Strategy, assinale a alternativa correta:
Define em uma superclasse o esqueleto de um algoritmo comum a várias subclasses, sendo que alguns passos específicos desse algoritmo podem ser implementados nas subclasses.
Permite separar os estados de um objeto ao longo do seu ciclo de vida em classes distintas, sendo definida uma classe para cada possível estado de um objeto, o que elimina a necessidade da classe detentora dos estados, fazendo a distinção do processamento a ser realizado, por meio de estruturas switch-case ou if-then-else complexas.
Define uma família de algoritmos encapsulados em objetos, permitindo que possamos trocar o algoritmo específico sem afetar o módulo usuário desse algoritmo.
Permite salvar o estado interno de um objeto, sem quebrar o seu encapsulamento, permitindo que esse estado seja restaurado posteriormente nesse mesmo objeto.
Encapsula uma requisição em um objeto, desacoplando o objeto requisitante do objeto executor. É comumente implementada em frameworks de interface com o usuário.
Ainda não há comentários para esta questão.
Seja o primeiro a comentar!