Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2018

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fc049301
Banca
FCC
Órgão
SEGEP-MA
Ano
2018
Cargo
Analista Executivo - Programador de Sistemas
A intenção do padrão de projeto Abstract Factory é
  1. Adefinir uma interface para a criação de um objeto, deixando as subclasses decidirem que classe instanciar. Delega a instanciação para as subclasses.
  2. Bconverter a interface de uma classe na interface esperada pelos clientes. Permite que classes com interfaces incompatíveis trabalhem em conjunto.
  3. Cfornecer uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes completas.
  4. Dgarantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso à mesma.
  5. Eseparar a construção de um objeto complexo de sua representação, de modo que o mesmo processo de construção possa criar diferentes representações.
Revelar gabarito e comentário

GabaritoC — fornecer uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes completas.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Padrão de Projeto Abstract Factory

Gabarito: letra C. O padrão Abstract Factory tem como intenção fornecer uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas. Essa definição é clássica do catálogo GoF (Gang of Four) e é a base para distinguir os padrões criacionais.

A banca cobra a memorização das intenções de cada padrão GoF. A alternativa C descreve exatamente o Abstract Factory, enquanto as demais trocam por outros padrões, principalmente Factory Method, Adapter, Singleton e Builder.

Padrões Criacionais (GoF)
  • 1Abstract Factory
    • Famílias de objetos relacionados
    • Interface sem classes concretas
  • 2Factory Method
    • Um objeto, subclasses decidem
  • 3Builder
    • Construção complexa passo a passo
  • 4Singleton
    • Instância única global
  • 5Padrão Estrutural
    • Adapter
      • Converte interface incompatível
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A descrição corresponde ao Factory Method: "definir uma interface para a criação de um objeto, deixando as subclasses decidirem que classe instanciar". O Abstract Factory, ao contrário, lida com famílias de objetos, não com um único objeto, e não delega a instanciação a subclasses, mas sim a fábricas concretas.

Alternativa B — ❌ Incorreta

Essa é a intenção do Adapter (padrão estrutural): converter a interface de uma classe em outra esperada pelo cliente. Abstract Factory é um padrão criacional, não estrutural.

Alternativa C — ✅ Correta ⟵ GABARITO

A definição é precisa: "fornecer uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes completas". O Abstract Factory permite que o cliente use fábricas abstratas para criar produtos de uma família, sem conhecer as classes concretas.

Alternativa D — ❌ Incorreta

Corresponde ao Singleton: garantir que uma classe tenha apenas uma instância e fornecer um ponto global de acesso. Abstract Factory não lida com controle de instâncias, mas sim com criação de múltiplos objetos de uma família.

Alternativa E — ❌ Incorreta

É a intenção do Builder: separar a construção de um objeto complexo de sua representação, permitindo diferentes representações. Abstract Factory não foca na construção passo a passo, mas na criação de famílias de objetos.

Conclusão: A única alternativa que descreve corretamente a intenção do Abstract Factory é a letra C.

PEGA ESSA DICA!

Para memorizar os padrões GoF, associe cada um a uma frase-chave: Abstract Factory = "famílias de objetos"; Factory Method = "cria um objeto, subclasses decidem"; Builder = "construção separada da representação"; Singleton = "única instância". Reforce com questões de múltipla escolha.

Link permanente: /questoes/fc049301