Analise as seguintes afirmações sobre padrões de projeto de ...

Próximas questões
Com base no mesmo assunto
Q3541434 Engenharia de Software
Analise as seguintes afirmações sobre padrões de projeto de criação:

I – O padrão de projeto Abstract Factory tem a intenção de definir uma interface para criar um objeto, mas deixar as subclasses decidirem que classe instanciar. Este padrão permite adiar a instanciação para subclasses.
II – O padrão de projeto Singleton tem como intenção garantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso para a mesma.
III – O padrão de projeto Factory Method tem a intenção de fornecer uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

GAMMA, E.; HELM, R.; JOHNSON, R.; VLISSIDES, J. Padrões de Projetos – Soluções Reutilizáveis, Editora Bookman, 2000.


Assinale a alternativa CORRETA, conforme Gamma et al. (2000):
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - Apenas a afirmação II é correta.

Tema central: A questão aborda padrões de projeto de criação, essenciais na orientação a objetos e comuns em provas de concursos de engenharia de software. Compreender suas definições e diferenças é fundamental para resolver questões desse tipo.

Resumo teórico: Os padrões de projeto de criação são soluções consagradas para problemas recorrentes na criação de objetos em softwares orientados a objetos. Os principais padrões citados pelos autores Gamma et al. (1994), conhecidos como a “Gang of Four”, são:

  • Singleton: Garante que uma classe tenha uma única instância e fornece um ponto global de acesso a ela.
  • Factory Method: Define uma interface para criar um objeto, mas permite que subclasses decidam qual classe instanciar. Adia a instância para as subclasses.
  • Abstract Factory: Fornece uma interface para criar famílias de objetos relacionados, sem especificar suas classes concretas.

Fonte: Gamma, E. et al., Padrões de Projeto, Bookman, 2000.

Justificativa da alternativa correta:

Apenas a afirmação II está correta. O Singleton tem como objetivo garantir que exista apenas uma instância de uma classe e fornecer um ponto de acesso global a ela, exatamente como diz a afirmação II.

Análise das alternativas incorretas:

  • Afirmação I (Abstract Factory): Errada. A descrição apresentada corresponde ao Factory Method, não ao Abstract Factory. O Abstract Factory trata da criação de famílias de objetos relacionados, não apenas de adiar a instanciação para subclasses.
  • Afirmação III (Factory Method): Errada. A definição dada é, na verdade, do Abstract Factory, que cria famílias de objetos relacionados. Factory Method, por sua vez, foca na decisão da subclasse sobre qual objeto criar.

Dicas para interpretar questões desse tipo:

  • Leia atentamente os nomes dos padrões e associe-os aos seus propósitos clássicos.
  • Cuidado com pegadinhas de troca de definição entre Abstract Factory e Factory Method.
  • Se possível, faça tabelas-resumo desses padrões para memorizar as diferenças.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

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

Comentários

Veja os comentários dos nossos alunos

CORREÇÃO:

I – O padrão de projeto Factory Method tem a intenção de definir uma interface para criar um objeto, mas deixar as subclasses decidirem que classe instanciar. Este padrão permite adiar a instanciação para subclasses.

II – O padrão de projeto Singleton tem como intenção garantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso para a mesma.

III – O padrão de projeto Abstract Factory tem a intenção de fornecer uma interface para criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo