← Questões de Engenharia de Software

Engenharia de Software · CESPE/CEBRASPE · 2024

Questão comentada de Engenharia de Software

O padrão de projeto que permite definir uma interface para criar objetos, mas deixa as subclasses decidirem a classe a ser instanciada, adiando a instanciação para cada subclasse, é o

Gabarito: A

Esse enunciado descreve um padrão de criação, ou seja, daqueles que cuidam de como os objetos nascem sem deixar a aplicação inteira presa a um "new" espalhado por tudo. A ideia é simples: você define a interface para criar o objeto, mas quem decide a classe concreta é a subclasse. Assim, a decisão fica adiada para o momento certo e cada subclasse pode mudar o produto criado sem quebrar o resto do sistema. Isso é exatamente o Factory Method: o método-fábrica fica na classe base, mas a escolha da implementação concreta vai para as subclasses. É um jeito elegante de ganhar flexibilidade, porque você troca a criação de objetos sem mexer na lógica principal. Em prova, se aparecer a expressão "deixa as subclasses decidirem", acenda a luz amarela para esse padrão. Não confunda com Template Method, que também usa herança e subclasses, mas para definir o esqueleto de um algoritmo, não para criar objetos. No Factory Method, o foco é a instância; no Template Method, o foco é o fluxo do processo. A banca adora trocar essas duas para ver quem está lendo com atenção. Doutrinariamente, a classificação vem da GoF (Gang of Four), que organiza Factory Method como padrão criacional. Então, o gabarito A está correto porque o enunciado descreve exatamente a criação delegada às subclasses.

Continue treinando

Questões relacionadas