Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2018
Arquitetura de Software›Padrõ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 é
Adefinir uma interface para a criação de um objeto, deixando as subclasses decidirem que classe instanciar. Delega a instanciação para as subclasses.
Bconverter a interface de uma classe na interface esperada pelos clientes. Permite que classes com interfaces incompatíveis trabalhem em conjunto.
Cfornecer uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes completas.
Dgarantir que uma classe tenha somente uma instância e fornecer um ponto global de acesso à mesma.
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.