Complementando a resposta da colega.
O padrão provê um ponto de acesso global.
O padrão singleton é uma estrutura que define classes que serão instanciadas uma única vez. Classes como spooler, window manager, file system, etc., são implementadas desta forma. Tais classes devem prover um mecanismo de controle para a criação de uma instância única, oferecendo acesso global ao único objeto criado, bem como permitir uma fácil especialização em subclasses.
Fonte: http://www.google.com.br/url?sa=t&rct=j&q=&esrc=s&source=web&cd=14&ved=0CC4QFjADOAo&url=http%3A%2F%2Fwww.e-publicacoes.uerj.br%2Findex.php%2Fcadinf%2Farticle%2Fdownload%2F6590%2F4695&ei=5LlIVaW8GaTdsASDx4GQDQ&usg=AFQjCNHek1erJ0TUUyFx12ILbMjlB_kJag&sig2=KIwI3azeI0ETzIwtPovMCg&bvm=bv.92291466,d.cWc&cad=rja