Несмотря на то что в последнее время все больше задач мы обычно решаем в функциональном стиле я хотел бы сегодня вам рассказать о одном из самых распространенных классовых паттернов - синглтон.
И так что это:
Паттерн
Singleton означает создание только одного экземпляра класса и доступ к нему через методы-геттеры.Пример использования:
class Singleton {
constructor() {
if (!Singleton.instance) {
Singleton.instance = this;
}
return Singleton.instance;
}
someMethod() {
console.log('Hello from Singleton!');
}
}
const instance1 = new Singleton();
const instance2 = new Singleton();
instance1.someMethod(); // "Hello from Singleton!"
console.log(instance1 === instance2); // true
В данном примере класс Singleton будет создавать только один экземпляр и все вызовы конструктора будут возвращать ссылку на этот экземпляр. Таким образом, мы можем быть уверены, что где бы ни встретились вызовы методов класса Singleton, они всегда будут работать с одним и тем же экземпляром.