Синглтон может нарушать принцип единственной ответственности, потому что класс не только выполняет свой функционал, но ещё и контролирует количество экземпляров. 4
Согласно этому принципу, каждый класс должен отвечать лишь за один какой-то аспект. 1 Если класс отвечает за несколько действий, то, внося изменения в один аспект поведения класса, можно затронуть и другой, что может сильно усложнить разработку. 1