Engenharia Múltipla Escolha

Assinale a alternativa que expressa a intenção do padrão de projeto Template Method:

Assinale a alternativa que expressa a intenção do padrão de projeto Template Method:

  1. Encapsular uma família de algoritmos com objetos, permitindo que os módulos clientes possam utilizar esses algoritmos de forma intercambiável.
  2. Definir uma relação de dependência entre objetos, de modo a garantir que modificações no estado do objeto detentor da informação sejam notificadas automaticamente para os objetos inscritos previamente como interessados em receber essas notificações.
  3. Implementar a estrutura de um algoritmo genérico em uma superclasse, considerando que os passos comuns são implementados na própria superclasse, enquanto os passos específicos são implementados nas suas subclasses.
  4. Permite capturar o estado interno de um objeto, permitindo que o seu estado seja restaurado posteriormente, sem quebrar o encapsulamento desse objeto.
  5. Encapsular uma requisição em um objeto, permitindo o registro do histórico de requisições disparadas pelos módulos cliente e a criação de filas de requisições.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - Implementar a estrutura de um algoritmo genérico em uma superclasse...

O padrão Template Method foca na reutilização de código através da definição do esqueleto de um algoritmo. Ele permite que subclasses sobrescrevam apenas os passos necessários sem alterar a estrutura geral definida no pai.

Análise dos Padrões

Para entender a resposta, vamos analisar a intenção de cada alternativa apresentada:

  • Alternativa A: Descreve o padrão Strategy. O objetivo é encapsular algoritmos intercambiáveis para que o cliente possa trocar a estratégia à vontade.
  • Alternativa B: Descreve o padrão Observer. Foca em notificar automaticamente objetos interessados quando o estado de outro objeto muda.
  • Alternativa C: Correta. Define o esqueleto do algoritmo na superclasse (passos comuns) e deixa os detalhes específicos para as subclasses (passos abstratos ou virtuais).
  • Alternativa D: Descreve o padrão Memento. Serve para salvar e restaurar o estado interno de um objeto sem violar o encapsulamento.
  • Alternativa E: Descreve o padrão Command. Transforma uma solicitação em um objeto independente, permitindo filas e histórico de operações.

Resumo Didático

O Template Method funciona como um modelo onde você tem uma receita fixa (superclasse), mas pode escolher ingredientes diferentes (subclasses).

PadrãoIntenção Principal
Template MethodDefinir o esqueleto do algoritmo, deferindo etapas específicas.
StrategyTrocar algoritmos dinamicamente.
ObserverNotificar mudanças de estado.
MementoSalvar/Restaurar estados.
CommandEncapsular solicitações como objetos.

Portanto, a alternativa C é a única que define corretamente a intenção do padrão Template Method.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.