Com relação ao padrão singleton de desenvolvimento orientado...
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.
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
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.
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