Com relação ao padrão singleton de desenvolvimento orientado...

Próximas questões
Com base no mesmo assunto
Q328249 Arquitetura de Software
Com relação ao padrão singleton de desenvolvimento orientado a objetos, julgue os próximos itens.


Esse padrão permite o refinamento de operações e de representação, pois as várias classes singleton obedecem à mesma interface, o que permite que um singleton seja escolhido para trabalhar com determinada aplicação em tempo de execução.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - certo

Vamos detalhar o tema e explicar por que essa é a alternativa correta.

O padrão Singleton é um dos padrões de projeto mais conhecidos em desenvolvimento orientado a objetos. Ele garante que uma classe tenha apenas uma instância e fornece um ponto global de acesso a essa instância. Ou seja, o Singleton é útil quando você precisa de exatamente uma instância de uma classe para coordenar ações em todo o sistema.

A questão aborda um aspecto específico do padrão Singleton: a capacidade de permitir o refinamento de operações e de representação. Isso significa que diferentes classes Singleton podem obedecer à mesma interface, permitindo que você escolha qual Singleton utilizar em tempo de execução, dependendo das necessidades específicas da aplicação naquele momento.

Vamos agora justificar a alternativa correta:

O enunciado destaca que várias classes Singleton obedecem à mesma interface. Isto está correto, pois ao seguir uma interface comum, diferentes implementações podem ser intercambiáveis, permitindo que uma instância específica do Singleton seja escolhida conforme necessário em tempo de execução. Esse é um dos pontos fortes do padrão Singleton, especialmente quando combinado com outros padrões de projeto, como o Factory Method ou o Abstract Factory.

Por exemplo, imagine que você tenha uma interface ILogger e duas classes Singleton que a implementam: FileLogger e DatabaseLogger. Dependendo da configuração ou do estado do aplicativo, você pode decidir qual implementação do logger utilizar em execução, sem alterar o código que depende da interface ILogger.

Agora, vamos analisar por que uma alternativa incorreta seria facilmente identificada:

Se a questão afirmasse que o padrão Singleton não permite a substituição de instâncias ou que não é possível implementar várias classes Singleton obedecendo à mesma interface, isso estaria incorreto. O padrão é justamente projetado para permitir tais flexibilidades, desde que seja garantido que cada classe siga a restrição de única instância.

Portanto, a alternativa C - certo está correta, pois o enunciado descreve precisamente uma das capacidades do padrão Singleton, que é permitir o refinamento de operações e de representação através do uso de uma interface comum entre diferentes Singletons.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Como assim "as classes singleton obedecem à mesma interface"? Nunca vi nada parecido a respeito de singleton.

Este padrão garante a existência de apenas uma instância de uma classe, mantendo um ponto global de acesso ao seu objeto.

Benefícios

Permite o controle sobre como e quando os clientes acessam a instância.

Várias classes singleton podem obedecer uma mesma interface, permitindo assim que um singleton em particular seja escolhido para trabalhar com uma determinada aplicação em tempo de execução.

Com apenas uma implementação interna do singleton pode-se fazer com que o singleton crie um número controlado de instâncias.

É mais flexível que métodos estáticos por permitir o polimorfismo.


Anderson Obedecem a mesma interface por ser uma instanciação única.

Não usem essa questão como referência. 


Singleton: Garantir que apenas um objeto exista, independente do número de requisições que receber para criá-lo.
Acho que a questão se refere a algum outro padrão. Qualquer classe pode obedecer a uma mesma interface, isso não é objetivo desse padrão.

Gente, eu to rindo aqui demais com essa questão!


Esse examinador deveria ser preso! pelo amor de deus!


Se essa questão não foi para passar algum parente, eu não sei mais de nada

Obrigado CESPE, fiquei mais burro agora.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo