Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — UNIFIMES 2024
Arquitetura de Software›Padrões de projeto (Design Patterns)
Código
qg370895
Banca
UNIFIMES
Órgão
Prefeitura de Mineiros - GO
Ano
2024
Nível
Superior
Cargo
Analista de Sistemas (SMS)
Design Patterns (Padrões de Projeto) são soluções para problemas comuns que podem ser encontrados no desenvolvimento ou manutenção de um software orientado a objetos. Assinale a alternativa CORRETA sobre qual a principal finalidade da Design Pattern Singleton.
AGarantir que uma classe tenha apenas um objeto em toda a aplicação.
BGarantir que uma classe tenha apenas uma única herança no projeto.
CGarantir que uma classe tenha apenas atributos em sua definição.
DGarantir que uma classe tenha apenas métodos em sua definição
EGarantir que uma classe tenha atributos e métodos em sua definição.
Revelar gabarito e comentário▾
GabaritoA — Garantir que uma classe tenha apenas um objeto em toda a aplicação.
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”.
Singleton (Padrão Criacional)
Gabarito: letra A. O padrão Singleton tem como finalidade principal garantir que uma classe possua uma única instância em toda a aplicação, além de fornecer um ponto global de acesso a ela. As demais alternativas descrevem características que não correspondem ao Singleton.
O padrão Singleton é classificado como um padrão de projeto criacional, pois trata da criação de objetos. Sua essência é controlar o número de instâncias, impedindo que múltiplos objetos sejam criados a partir da mesma classe. Isso é útil para recursos compartilhados, como conexões de banco de dados, logs ou configurações.
Singleton (criacional): Finalidade principal (Garantir única instância, Ponto global de acesso); Não trata de (Herança única, Estrutura interna (atributos/métodos)); Aplicações típicas (Conexão de banco de dados, Logs, Configurações)
Alternativa A — ✅ Correta ⟵ GABARITO
A descrição está totalmente alinhada com a definição clássica do Singleton: "Garantir que uma classe tenha apenas um objeto em toda a aplicação". Esse é o propósito central do padrão.
Alternativa B — ❌ Incorreta
Afirma que o Singleton garante "apenas uma única herança no projeto". Isso não faz parte do padrão; herança única é uma característica de linguagens de programação (como Java, que não permite herança múltipla de classes), não uma finalidade de design pattern. Singleton não trata de herança.
Alternativa C — ❌ Incorreta
Diz que o Singleton garante "apenas atributos em sua definição". Uma classe Singleton pode ter tanto atributos quanto métodos, como qualquer outra classe. O padrão não restringe a estrutura interna da classe, apenas controla a instanciação.
Alternativa D — ❌ Incorreta
Afirma que o Singleton garante "apenas métodos em sua definição". Novamente, não há essa restrição. A classe Singleton pode conter atributos e métodos normalmente; o foco é a unicidade de instância.
Alternativa E — ❌ Incorreta
Diz que o Singleton garante "atributos e métodos em sua definição". Essa é uma característica genérica de qualquer classe em orientação a objetos, não uma finalidade específica do Singleton. O padrão não se preocupa com a presença de atributos ou métodos, mas sim com a restrição de instanciação.
PEGA ESSA DICA!
Para identificar o Singleton na prova, lembre-se da palavra-chave "única instância" ou "único objeto". Ele pertence ao grupo dos padrões criacionais (junto com Factory Method, Abstract Factory, Builder e Prototype). Memorize: Singleton = uma única instância global.