Analise o cenário a seguir e identifique qual padrão de pro...

Próximas questões
Com base no mesmo assunto
Q4240191 Arquitetura de Software
Analise o cenário a seguir e identifique qual padrão de projeto está sendo utilizado: uma aplicação precisa criar diferentes tipos de documentos (PDF, DOCX e HTML). Para isso, utiliza-se uma interface comum e subclasses específicas que decidem qual tipo de documento será criado em tempo de execução, sem alterar o código principal da aplicação. Com base nessas informações, assinale a alternativa correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: D

Fundamento decisivo: O ponto decisivo é que subclasses específicas definem qual documento será criado, por meio de uma interface comum de criação.

Tema central: Factory Method
Análise das alternativas
A
Errada
Decorator não tem como função central escolher, por subclasses, qual objeto concreto será criado. Sua finalidade é adicionar responsabilidades ou comportamentos a um objeto de forma dinâmica, enquanto o cenário trata de criação de documentos.
B
Errada
Singleton busca garantir uma única instância de uma classe com ponto global de acesso. No cenário, não há qualquer elemento de unicidade de instância; o problema é selecionar entre múltiplos tipos de produto.
C
Errada
Adapter serve para compatibilizar interfaces, convertendo a interface de uma classe em outra esperada pelo cliente. O enunciado não descreve adaptação de interfaces existentes, mas sim um mecanismo de criação de objetos concretos.
D
Certa
A alternativa D está certa porque o cenário descreve um padrão criacional em que a criação do objeto concreto é delegada a subclasses. Assim, a escolha do tipo de documento fica encapsulada no mecanismo de criação, e não no código cliente, o que caracteriza Factory Method.
Pegadinha da questão
A confusão real estava em ver a expressão “interface comum” e pensar em Adapter, quando o foco decisivo do enunciado era outro: subclasses definindo qual objeto concreto será criado.
Dica para questões semelhantes
  • Se o enunciado destaca que subclasses decidem qual produto concreto será instanciado, procure um padrão criacional, especialmente Factory Method.
  • Quando o código principal permanece inalterado apesar da troca do tipo concreto criado, isso aponta para desacoplamento da criação em relação ao cliente.
  • Não confunda interface comum de criação com adaptação de interfaces: em Adapter, o problema é compatibilidade; aqui, o problema é instanciação.
  • Se o cenário fala em variar o tipo criado em tempo de execução, verifique se a variação está encapsulada no mecanismo de criação.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo