Синглтон - это шаблон дизайна.
Однако, поскольку он является одним из самых простых, он также наиболее подвержен злоупотреблениям и в этом смысле является антипаттерном дизайна.
Трудности в написании тестируемого кода, использующего синглтоны, являются еще одной причиной, по которой люди считают, что это анти-шаблон.
Синглтон следует использовать только тогда, когда должен иметь один экземпляр класса, работающий в пространстве приложения. То есть, когда вам нужно гарантировать , это может быть только один такой экземпляр.