- no es fácil de testear, sobretodo cuando creas pruebas unitarias y de integración
- el código queda acoplado a la "instancia" de singleton utilizada, denotado por las pruebas unitarias que realizas
- el código de singleton debe soportar la creación de la instancia de manera única por ejecución de la aplicación