Qual é o Padrão de Projeto que encapsula uma solicitação co...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: A - Command.
O Padrão de Projeto Command é responsável por encapsular uma solicitação como um objeto. Isso permite que diferentes solicitações sejam tratadas de forma uniforme. O padrão oferece a flexibilidade de parametrizar clientes com diversas solicitações, bem como permite enfileirar ou registrar (log) essas solicitações. Além disso, o Command suporta a execução de operações que podem ser desfeitas, o que é uma característica importante em sistemas que exigem operações reversíveis, como editores de texto ou sistemas de transações.
Agora, vamos analisar por que as outras alternativas estão incorretas:
B - Template Method: Este padrão define o esqueleto de um algoritmo em uma operação, deixando alguns passos para serem implementados por subclasses. Ele não está relacionado à encapsulação de solicitações como objeto nem ao suporte de operações reversíveis.
C - Composite: O padrão Composite é utilizado para compor objetos em estruturas de árvore para representar hierarquias parte-todo. Ele permite que clientes tratem objetos individuais e composições de objetos de maneira uniforme, mas não lida com encapsulação de solicitações.
D - Factory Method: Este padrão define uma interface para criar um objeto, mas deixa as subclasses decidirem que classe instanciar. O Factory Method não está relacionado ao encapsulamento de solicitações nem ao registro e desfazer de operações.
E - Adapter: O Adapter é usado para permitir que interfaces incompatíveis trabalhem juntas. Ele atua como um conversor entre a interface que o cliente espera e a interface de uma classe existente. Não tem relação com encapsular solicitações.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
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
TEMPLATE METHOD - “Definir o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses. Template Method permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo.” (thread) (reutilização de código) (herança)
COMPOSITE - “Compor objetos em estruturas de árvore para representarem hierarquias partes-todo. Composite permite aos clientes tratarem de maneira uniforme objetos individuais e composições de objetos.” 9.1. Use Composite quando: Um conjunto deve ser tratado como um indivíduo, tomando precauções para evitar loops infinitos, já que o Composite depende de implementações recursivas.
Observações:
• Um filho pode substituir um pai.
• Agregação dele mesmo.
• Recursividade.
FACTORY METHOD: “Define uma interface (Fábrica) para criar um objeto, deixando subclasses (concretas) decidirem qual classe instanciar. Permite que uma classe (Fábrica) delegue para suas subclasses concretas a responsabilidade de criação de um Produto.” Usa a herança.
ADAPTER: “Converte a interface de uma classe em outra interface esperada pelos clientes. O Adapter permite que certas classes trabalhem em conjunto, pois de outra forma seria impossível por causa de suas interfaces incompatíveis.”
Class Adapter: usa herança múltipla para adaptar uma interface à outra. (escopo de classe)
Object Adapter: O adaptador de objeto depende da composição de objetos.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo