Ajuda com Singleton

Isso, se o método estático da factory só cria uma conexão e retorna, não é um singleton, é só um método estático, e como você falou, é a opcão 2. O problema, como eu disse ali, é quando a factory mantém algum tipo de estado interno que é passado para os objetos criados (vazando assim o estado interno do singleton).

1 curtida