Я читал много споров о том, является ли шаблон Singleton хорошим / плохим / уродливым, и что следует использовать вместо него.
Обычная реализация требует метода Instance()
, который вызываетзакрытый конструктор, если объект еще не создан.
Мой вопрос не совсем соответствует шаблону Singleton, но можно ли ограничить количество экземпляров класса, переопределив new
?И если, скажем, нам нужен только один экземпляр, вернуть уже созданный экземпляр?
Если это возможно, это даже хорошая идея?
Цель состоит в том, чтобы в любом классе, нуждающемся в доступе ккласс, можно было бы просто объявить закрытый член, который будет инициализирован в первый раз, а затем будет использоваться для остальных.
ClassA {
MyClass classRef;
}
ClassB {
MyClass classRef;
}
Так что если MyClass
ограничен одним экземпляром, в зависимости от порядкаНапример, один из этих объектов фактически создаст новый MyClass, а другой просто получит его ссылку.