No presente curso, não ficou muito claro a relação do Designer Pattern Singleton com o que nos foi apresentado, receio que alguns possam ter ficado com dúvidas assim como outrora eu fiquei quando eu tive o primeiro contato com Singletons no curso de persistência interna.
Desmistificando: Singletons são uma prática de Designer Pattern que instruem quanto a criação de classes que precisam ter apenas uma instância. De modo quê, os valores dessa instância, sejam os mesmos em outras tentativas de instanciação. São muito úteis para controlar acesso, e não ocasionar uma fragmentação dos dadosç. Aplicações: São aplicaveis em situações que exigem que não haja cópias de uma mesma classe, e que os valores preenchidos em uma classe, sejam os mesmos pra todas as instanciações. Exemplos: Inicialização de bancos de dados, acesso à repositórios e etc.
Imagine que você criou um repositório, e que instanciou esse repositório em duas telas diferentes e não aplicou o Design Pattern SIngleton, para todos os efeitos, em ambas as telas existem duas instâncias diferente do mesmo repositório, de modo que, os valores presentes em uma, não existem na outra, apenas na instância da própria tela.