Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FCC 2016
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
fc034505
Banca
FCC
Órgão
TRT - 23ª REGIÃO (MT)
Ano
2016
Nível
Médio
Cargo
Técnico Judiciário - Tecnologia da Informação
Em muitas situações uma "aplicação cliente" precisa criar objetos cuja construção efetiva só é definida em tempo de execução. A "aplicação cliente" não deve se preocupar com a criação dos objetos. Trata-se da motivação do padrão de projeto
AAbstract Factory.
BBuilder.
CFactory Method.
DSingleton.
EProxy.
Revelar gabarito e comentário▾
GabaritoA — Abstract Factory.
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ões de Projeto Criacionais — Abstract Factory
Gabarito: letra A. O enunciado descreve a motivação clássica do padrão Abstract Factory: permitir que uma aplicação cliente crie objetos cuja construção efetiva é definida em tempo de execução, sem que o cliente precise se preocupar com os detalhes de criação. Esse padrão fornece uma interface para criar famílias de objetos relacionados ou dependentes sem especificar suas classes concretas, exatamente o que a questão demanda.
A banca testa o conhecimento dos padrões GoF, especialmente os criacionais. Abaixo, a análise de cada alternativa:
Padrões Criacionais (GoF): Abstract Factory (Família de objetos relacionados, Criação em tempo de execução, Cliente não conhece classes concretas); Factory Method (Cria um único produto, Subclasses decidem qual instanciar); Builder (Construção passo a passo, Separa construção da representação); Singleton (Instância única global)
Alternativa A — ✅ Correta ⟵ GABARITO
O Abstract Factory é o padrão que encapsula a criação de famílias de objetos, permitindo que o cliente utilize interfaces abstratas e não conheça as classes concretas. A frase "aplicação cliente não deve se preocupar com a criação dos objetos" e "construção efetiva só é definida em tempo de execução" é a essência desse padrão.
Alternativa B — ❌ Incorreta
O Builder é focado na construção passo a passo de um objeto complexo, separando a construção da representação. Não se aplica à criação de famílias de objetos nem à abstração completa da criação para o cliente.
Alternativa C — ❌ Incorreta
O Factory Method define uma interface para criar um único objeto, mas delega a decisão de qual classe instanciar para subclasses. Embora abstraia a criação, está mais voltado a um único produto, não a uma família de objetos como descrito no enunciado.
Alternativa D — ❌ Incorreta
O Singleton garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a ela. Não lida com criação de objetos em tempo de execução nem com abstração de famílias.
Alternativa E — ❌ Incorreta
O Proxy é um padrão estrutural que fornece um substituto ou representante de outro objeto para controlar o acesso a ele. Não tem relação com criação de objetos.
PEGA ESSA DICA!
Nos padrões criacionais, lembre-se da hierarquia: Abstract Factory é o mais abrangente (famílias), Factory Method cria um produto por vez, Builder constrói objetos complexos passo a passo, e Singleton garante instância única. O enunciado que menciona "criação em tempo de execução" e "cliente não se preocupa" aponta para Abstract Factory.