Singleton dizayn nümunəsi (Pattern)
Dizayn nümunələri
1
Yazı
1
Yazarlar
46
Baxış
-
Singleton pattern – proqramlaşdırmada geniş istifadə olunan bir dizayn nümunəsidir. Bu nümunənin əsas məqsədi — bir class-ın yalnız bir nüsxəsinin (instance) yaradılmasını təmin etmək və bu nüsxəyə qlobal səviyyədə çıxış imkanının olmasıdır.
Bu pattern, proqram boyu paylaşılan resursların — məsələn, konfiqurasiya məlumatları, verilənlər bazası bağlantısı və s. — mərkəzləşdirilmiş şəkildə idarə olunması üçün çox yararlıdır.
Məsələn: Singleton class-ın yaradılması
class Singleton { constructor() { if (!Singleton.instance) { Singleton.instance = this; } return Singleton.instance; } someMethod() { console.log("Singleton method called"); } }
Qeyd:
- Singleton.instance: Bu statik dəyişən artıq yaradılmış nüsxəni yadda saxlamaq üçün istifadə olunur.
- constructor(): Classın yaradılmasında
Singleton.instance
yoxlanılır. Əgər belə bir instansiya yoxdursa,this
(yeni instansiya) dəyişənə təyin olunur və o qaytarılır. - someMethod(): Class daxilində sadə bir metoddur, misal üçün konsola mesaj çıxarır.
🧪 İstifadə
const instance1 = new Singleton(); const instance2 = new Singleton(); console.log(instance1 === instance2); // true instance1.someMethod(); // "Singleton method called"
- Hər iki dəyişən eyni instansiyaya işarə edir.
- İstifadə zamanı artıq mövcud olan nüsxə qaytarılır və yenidən yaradılmır.
Nəticə
Singleton Pattern aşağıdakı hallarda faydalıdır:
- Bir obyektin sistem boyu bir dəfə yaradılması lazımdırsa
- Mərkəzləşdirilmiş idarəetmə (məsələn,
Logger
,Configuration
,Database
bağlantısı) - Resursların düzgün istifadəsi və davranışın sabitliyini təmin etmək
Bilik paylaşdıqca artan bir sərvətdir