Massa Maurício! Vez ou outra também dou uma estudada nos patterns.

É importante dizer que essa estrátégia embora traga facilidades, também tem alguns contras, como por exemplo:

  • Muitos argumentam que o Singleton viola o princípio de responsabilidade única do SOLID.
  • Pode ser difícil de testar

Em relação as referências, o site refactoring.guru é muito completo também. Em todas as páginas sobre um determinado pattern existe uma área que mostra os prós e contras de utilizá-lo além de dar exemplos em várias linguagens de programação.

Referência Singleton: https://refactoring.guru/pt-br/design-patterns/singleton

Exato. Essa é uma questão que está muito presente. Isso nos leva a ter que criar estratégias para uso desse pattern. Por exemplo testar a classe antes de transforma-la em um Singleton. De fato, antes de usa-lo em um projeto, precisamos analisar as epecificidades do mesmo, e ver se realmente é necessário. Obrigado pela contibuição!!