Singletony w JavaScript

Singletony w JavaScript
Singleton w JavaScript odnosi się do instancji obiektu, który można utworzyć tylko raz. Singleton zapewnia, że ​​klasa nie może mieć więcej niż jednej instancji zamiast tego ma dokładnie jeden przypadek i ma globalny zakres. Singletony są globalne dla całej aplikacji, więc czasami może powodować trudności, ponieważ cała aplikacja na nich polega.

Teraz omówimy składnię klasy Singletona i funkcję Singleton jeden po drugim. Omówimy również szczegółowo dostęp do ich instancji.

Metoda singleton w JavaScript

Istnieje wiele metod, które można zastosować do deklarowania singletonu, bardzo podstawowym sposobem deklarowania singletonu jest:

var singletonexample =
Fname: „Joe”,
Lname: „Clarke”,
simpleMethod: function ()
Zwróć to.fname + " + to.lname;
,
;
konsola.Log („SimpleMethod:”, Singletonexample.simpleMethod ());

Wyjście tego kodu będzie:

Klasa Singleton w JavaScript

Wdrożenie klasy singleton w JavaScript nie jest zbyt złożone, podstawową składnią klasy singleton będzie:

Let Check_Instance = null;
Pracownik klasy
konstruktor (id, nazwa, miasto, oznaczenie)
Jeśli (!check_instance)
Ten.id = id;
Ten.Nazwa = nazwa;
Ten.miasto = miasto;
Ten.Oznaczenie = oznaczenie;
check_instance = this;

w przeciwnym razie

zwróć check_instance;



const emp1 = nowy pracownik (1, „Roman”, „Paris”, „menedżer”);
konsola.log („pierwszy pracownik:”, emp1);

Tutaj utworzyliśmy klasę o nazwie pracownika i zmienną o nazwie Check_instance z wartością zerową. Wewnątrz klasy używamy if-Satement, aby sprawdzić, czy instancja jest zerowa, czy nie, a czy instancja jest zerowa, wówczas zastąpienie zostanie wykonane w przeciwnym razie, po prostu zwróci „check_instance”.

Wyjście:

Teraz utwórz kolejną instancję i sprawdź, co się stanie, gdy utworzymy dwie instancje klasy singleton.

W tym celu po prostu rozszerz powyższy kod i utwórz kolejną instancję klasy i przypisz do niej niektóre właściwości:

Let Check_Instance = null;
Pracownik klasy
konstruktor (id, nazwa, miasto, oznaczenie)
Jeśli (!check_instance)
Ten.id = id;
Ten.Nazwa = nazwa;
Ten.miasto = miasto;
Ten.Oznaczenie = oznaczenie;
check_instance = this;

w przeciwnym razie

zwróć check_instance;



const emp1 = nowy pracownik (1, „Roman”, „Paris”, „menedżer”);
const emp2 = nowy pracownik (2, „Seth”, „New York”, „dyrektor”);
konsola.log („pierwszy pracownik:”, emp1);
konsola.log („drugi pracownik:”, emp2);

Teraz zaimplementuj powyższy kod i obserwuj, czy powstaje nowy pracownik, czy nie:

Wyjście:

Dane wyjściowe sprawdzi, czy nie utworzyła drugiej instancji, zamiast tego zwraca tę samą instancję:

Wniosek

Singletony są jednym z najłatwiejszych wzorów projektowych do zrozumienia. Wzory singleton są sposobem na utworzenie jednego obiektu, który można udostępnić między wieloma różnymi zasobami w całej aplikacji bez odtwarzania tych obiektów. Jeśli ktoś zadzwoni do konstruktora klasy, zwraca tę samą instancję.