Questão 52 — UNIRIO 2019 Cesgranrio
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. public abstract class TituloPrivado { public final boolean compra(int qtd) { if(exibePropospectoInicial()) if(realizaCadastro(qtd)) return encerra(); return false; } public abstract boolean exibePropospectoInicial(); public abstract boolean realizaCadastro(int qtd); public abstract boolean encerra(); } O 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. public class Debenture extends TituloPrivado { public boolean exibePropospectoInicial() { // código irrelevante para a questão } public boolean realizaCadastro(int qtd) { // código irrelevante para a questão } public boolean encerra() { // código irrelevante para a questão } } A 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?
- APrototype
- BTemplate Method
- CInterpreter
- DComposite
- EProxy 13
Gabarito oficial: B
Quer saber por quê? Com conta no Certamine esta questão vem com explicação, comentários de quem também estuda, e entra no seu histórico de acertos — ligada ao tópico do seu edital.
Criar conta grátisOutras questões de Padrões de Projeto
- DPE-RS 2023 — Analista – Tecnologia da Informação (Desenvolvimento de Sistemas)André está desenvolvendo um sistema com uso de EJBs, os objetos distribuídos da plataforma Java, e resolveu estudar a arquitetura adotada na plataforma JEE. …
- DPE-RS 2023 — Analista – Tecnologia da Informação (Desenvolvimento de Sistemas)A divisão em camadas da arquitetura MVC permitiu o uso de diversos padrões de projeto de forma simples, e, com toda a padronização obtida, aliada a ferrament…
- DPE-RS 2023 — Analista – Tecnologia da Informação (Desenvolvimento de Sistemas)Ana está implementando um sistema de comércio eletrônico e agora está definindo a operação de pagamento para a compra, podendo aceitar cartão de crédito, PIX…