No contexto de padrões de projeto GoF, há um padrão que tem como definição garantir que uma classe tenha apenas uma instância de si mesma e que forneça um ponto global de acesso. Assinale-o.
- A)Builder.
Errada, porque Builder serve para construir objetos complexos passo a passo, não para garantir uma única instância.
- B)Factory.
Errada, porque Factory está ligada à criação de objetos, mas não impõe instância única nem acesso global.
- C)Proxy.
Errada, porque Proxy controla o acesso a outro objeto, atuando como intermediário, e não como objeto único do sistema.
- D)Singleton.
Certa, porque Singleton garante uma única instância da classe e um ponto global de acesso a ela.
- E)Strategy.
Errada, porque Strategy define uma família de algoritmos intercambiáveis, sem relação com unicidade de instância.
Gabarito: D
Na GoF, o padrão Singleton é aquele famoso que adora ser exclusivo: ele garante que exista apenas uma instância da classe e ainda oferece um ponto global de acesso a ela. Em prova, isso costuma aparecer com palavras quase iguais às da definição clássica, então vale ficar atento porque a banca normalmente quer justamente essa identificação direta. Pense nele como o "único" representante daquele objeto no sistema. Em vez de você criar várias cópias, a classe controla a própria criação e entrega sempre a mesma instância. Isso é útil, por exemplo, quando faz sentido ter um único gerenciador de configuração, log ou conexão centralizada. Por isso o gabarito é a letra D. As expressões "apenas uma instância" e "ponto global de acesso" são a assinatura do Singleton, sem muito mistério. Na doutrina de padrões de projeto da GoF, essa é exatamente a definição clássica do padrão. As outras alternativas tratam de outras intenções de projeto: criar objetos, simplificar acesso, controlar chamadas ou encapsular algoritmos. Aqui a banca foi bem direta, quase sem maquiagem: descreveu o padrão e pediu o nome.