Sapien IA
Computação Múltipla Escolha

Em um sistema de vendas online, o padrão Abstract Factory é utilizado para criar objetos relacionados a diferentes categorias de produtos sem especificar suas classes concretas. Isso permite flexibilidade na adição de novas categorias de produtos. Qual é o propósito do padrão Abstract Factory neste contexto?

Em um sistema de vendas online, o padrão Abstract Factory é utilizado para criar objetos relacionados a diferentes categorias de produtos sem especificar suas classes concretas. Isso permite flexibilidade na adição de novas categorias de produtos.

Qual é o propósito do padrão Abstract Factory neste contexto?

  1. Garantir que apenas uma instância de classe seja criada.
  2. Permitir a construção de um objeto em múltiplas etapas.
  3. Criar uma família de objetos relacionados sem especificar suas classes concretas.
  4. Clonar objetos mantendo seu estado original.
  5. Gerenciar o ciclo de vida de objetos complexos.

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C - Criar uma família de objetos relacionados sem especificar suas classes concretas.

Análise da Questão

O enunciado descreve explicitamente a funcionalidade principal do padrão de projeto Abstract Factory (Fábrica Abstrata). Vamos detalhar os conceitos envolvidos para entender por que esta é a resposta correta.

O Padrão Abstract Factory

Este é um padrão de criação (Creational Pattern) focado em criar famílias de objetos interdependentes ou relacionados.

  • Propósito Principal: Definir uma interface para criar produtos, mas deixar para as subclasses decidir qual classe concreta instanciar.
  • Benefício no Contexto: Permite trocar toda uma "família" de produtos (ex: categorias de produtos online) sem alterar o código que usa esses produtos.
  • Exemplo Prático: Um sistema de vendas pode ter fábricas para "Produtos Físicos" e "Produtos Digitais". Cada fábrica cria seus próprios itens (ex: uma cadeira e uma mesa da fábrica física; um ebook e um curso da fábrica digital) sem que o cliente precise saber qual classe foi criada.

Comparação com outras Alternativas

Para confirmar a escolha, analisamos as definições das outras opções apresentadas:

AlternativaDescriçãoPadrão Correspondente
AGarantir apenas uma instânciaSingleton
BConstrução em múltiplas etapasBuilder
CFamília de objetos relacionadosAbstract Factory (Correta)
DClonar objetosPrototype
EGerenciar ciclo de vidaVariados (ex: Object Pool)

Conclusão

A alternativa C resume exatamente a definição clássica encontrada na literatura de engenharia de software (como no livro "Gang of Four"): "Provide an interface for creating families of related or dependent objects without specifying their concrete classes."

Portanto, a flexibilidade mencionada no texto para adicionar novas categorias refere-se à capacidade de implementar novas Fábricas Concretas que atendem ao contrato da Fábrica Abstrata, sem modificar o código existente.

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.