Ed
há 6 meses
Vamos analisar cada uma das alternativas em relação ao padrão Strategy: a) 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. - Esta descrição se refere mais ao padrão Template Method, não ao Strategy. b) 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. - Esta descrição se refere ao padrão State, não ao Strategy. c) 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. - Esta é a definição correta do padrão Strategy, que permite a troca de algoritmos de forma flexível. d) Permite salvar o estado interno de um objeto, sem quebrar o seu encapsulamento, permitindo que esse estado seja restaurado posteriormente nesse mesmo objeto. - Esta descrição se refere ao padrão Memento, não ao Strategy. e) Encapsula uma requisição em um objeto, desacoplando o objeto requisitante do objeto executor. É comumente implementada em frameworks de interface com o usuário. - Esta descrição se refere ao padrão Command, não ao Strategy. Portanto, a alternativa correta é: c) 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.
Já tem uma conta?
Ao continuar, você aceita os Termos de Uso e Política de Privacidade
Ed
há 2 anos
A alternativa correta é a letra c) 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. O padrão Strategy é utilizado para definir 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.
Mais perguntas desse material