Pular para o conteúdo principal

Questão de Engenharia de Software — Padrões de Projeto (Engenharia de Software) — CESGRANRIO 2023

Engenharia de SoftwarePadrões de Projeto (Engenharia de Software)
Código
cg057571
Banca
CESGRANRIO
Órgão
AgeRIO
Ano
2023
Cargo
Ana Desenv ( )
Considere a classe Java abaixo.   Ela contém métodos que implementam o processo de venda de ingressos para espetáculos culturais. Entre eles está o método de encerramento de uma venda, que é composto de três etapas. São elas:   • o cálculo do valor do ingresso; • a confirmação do pagamento; • a impressão do ingresso.   As duas últimas etapas independem da natureza de quem está comprando um ingresso, por isso foram implementadas diretamente na classe VendaIngresso. A 1ª etapa, entretanto, não pôde ser implementada nessa classe, pois o valor de um ingresso pode variar de acordo com o tipo de comprador (estudante, idoso, pessoa com deficiência, dentre outros). Por isso, o método calculaValorIngresso é abstrato.   Uma 2ª classe, que implementa a venda de ingressos para estudantes, é mostrada a seguir.   Ela é uma subclasse de VendaIngresso que implementa o cálculo do valor de um ingresso de estudante. Dessa forma, um programa Java que implemente a venda de ingressos para estudantes, baseada nas classes acima, irá conter os seguintes comandos:   VendaIngresso v = new VendaIngressoEstudante(); v.encerraVenda("Máquina Mortífera 20", "L8");   Qual padrão de projeto foi empregado na solução descrita acima?Imagem associada para resolução da questãoImagem associada para resolução da questão
  1. APrototype
  2. BAdapter
  3. CComposite
  4. DMediator
  5. ETemplate Method
Revelar gabarito e comentário

GabaritoE — Template Method

Link permanente: /questoes/cg057571