Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESGRANRIO 2019

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
cg015553
Banca
CESGRANRIO
Órgão
UNIRIO
Ano
2019
Nível
Superior
Cargo
Analista de Tecnologia da Informação
O software que controla a venda de títulos privados de um banco de investimentos tem de ser flexível o suficiente para acomodar as variações nos procedimentos de venda de CDBs, letras de câmbio e debêntures. Entretanto, a sequência na qual esses procedimentos são executados é a mesma para todos os tipos de títulos. Sendo assim, os projetistas desse software adotaram o design descrito a seguir.Em primeiro lugar, criaram uma classe abstrata contendo um método concreto, chamado compra(), que implementa a sequência de execução dos procedimentos, que é comum a todos os tipos de títulos, mas deixaram em aberto, por meio de métodos abstratos, a implementação de cada procedimento. Essa classe, chamada TituloPrivado, é mostrada a seguir.Imagem associada para resolução da questãoO passo seguinte foi criar subclasses específicas para cada um dos três tipos de títulos. Cada subclasse implementa os seus próprios procedimentos, por meio da concretização dos métodos abstratos da classe TituloPrivado. Isso é exemplificado pela classe Debenture, mostrada a seguir.Imagem associada para resolução da questãoA realização de uma compra será feita por meio da instanciação de uma das subclasses concretas da classe TituloPrivado e da posterior execução do método compra(), que irá acionar os métodos que implementam os procedimentos específicos do tipo de título instanciado.Qual padrão de projeto foi empregado nesse design?
  1. APrototype
  2. BTemplate Method
  3. CInterpreter
  4. DComposite
  5. EProxy
Revelar gabarito e comentário

GabaritoB — Template Method

Link permanente: /questoes/cg015553