Паттерн Singletone с примером на JavaScript Алоха товарищи фр | Frontender's notes [ru]
Паттерн Singletone с примером на JavaScript
Алоха товарищи фронты! Несмотря на то что в последнее время все больше задач мы обычно решаем в функциональном стиле я хотел бы сегодня вам рассказать о одном из самых распространенных классовых паттернов - синглтон.
И так что это: Паттерн 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, они всегда будут работать с одним и тем же экземпляром.