Sapien IA
Computação Múltipla Escolha

Reduzir a necessidade de criar hierarquias paralelas de classes ou de criar subclasses apenas para instanciar objetos específicos é um dos efeitos obtidos com a aplicação de qual padrão?

Reduzir a necessidade de criar hierarquias paralelas de classes ou de criar subclasses apenas para instanciar objetos específicos é um dos efeitos obtidos com a aplicação de qual padrão?

  1. Abstract Factory
  2. Factory Method
  3. Singleton
  4. Prototype
  5. Builder

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - Prototype

O enunciado descreve diretamente um dos principais benefícios do padrão Prototype, conforme documentado no livro clássico Design Patterns (GoF).

Este padrão resolve o problema da criação excessiva de subclasses quando se precisa de variações de objetos. Em vez de herdar de uma classe base e sobrescrever métodos apenas para alterar configurações, utiliza-se a cópia de um objeto existente.

Análise Detalhada

  • Problema Resolvido: Criar muitas subclasses apenas para obter pequenas variações em objetos leva a hierarquias complexas e difíceis de manter.
  • Solução do Prototype: O cliente solicita ao padrão que copie um objeto protótipo configurado previamente. Isso evita a necessidade de criar novas classes na árvore de herança.
  • Hierarquias Paralelas: Padrões como Abstract Factory frequentemente criam hierarquias paralelas (uma para produtos, outra para criadores). O Prototype foca na clonagem, eliminando essa dependência estrutural.
  • Comparação Rápida:
PadrãoFoco PrincipalHierarquia?
PrototypeClonagem de objetos existentesReduz a necessidade de subclasses
Abstract FactoryFamílias de objetos relacionadosFrequentemente cria hierarquias paralelas
Factory MethodSubclasses decidem a instânciaPode gerar muitas subclasses
BuilderConstrução passo a passoSepara construção da representação
SingletonUma única instância globalNão trata de variações de objetos

Em resumo, ao usar o Prototype, você instancia novos objetos copiando estados de objetos já existentes, o que elimina a necessidade de criar subclasses específicas apenas para esse fim.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.