>сингелтон во первых ограничивает создание клиентом и делает это сам
Ни хера подобного, синглтон - это строго про "класс инстанциируется один раз и этот единственный инстанс используется". Как, кем, почему, зачем, с какими религиозными целями, что кушает автор, какой рукой пишется код - ничего из этого не входит в определение синглтона, не надо нести чепухи, это просто детали реализации.
In software engineering, the singleton pattern is a software design pattern that restricts the instantiation of a class to one "single" instance.