Singleton tag təsviri

Xüsusi bir sinif tətbiqinin yalnız bir nümunəsi olduğunu təmin edən dizayn tərzi. "Dördüncü Şəbəkə" dizayn şablonlarından biri.

A singleton, bir sinif nümunəsini tək bir obyektə məhdudlaşdıran bir dizayn nümunəsidir. Sistemdə hərəkətləri koordinasiya etmək üçün bir obyektə ehtiyac olduqda bu faydalıdır. Anlayış bəzən yalnız bir obyekt olduğunda və ya bir nümunənin yaradılması müəyyən bir sıra obyektlərə məhdudlaşdıqda daha səmərəli işləyən sistemlərə ümumiləşdirilir. Müddəti təklinarlığın riyazi konsepsiyasından yaranır.

 public class SingletonDemo { private static volatile SingletonDemo instance = null; private SingletonDemo() { } public static SingletonDemo getInstance() { if (instance == null) { synchronized (SingletonDemo.class){ if (instance == null) { instance = new SingletonDemo (); } } } return instance; } } 

Singleton tətbiqləri, mövzu təhlükəsizliyi başlanğıcı və ya başlatma qaydasının bəzi forması kimi əlavə funksiyaları daxil edə bilər.

Singleton, mübahisəsizdir ki, ən məşhur, ən çox istifadə edilən, ən çox sui-istifadə edilmiş və ən mübahisəli dizayn tərzidir ki, tez-tez tərəfdarları və rəqibləri arasında qızğın müzakirələr aparır.

Bu, Gamma və digərlərinin ilk dəfə nəşr etdiyi dörd şəbəkələrinin yaradıcılarından biridir. "Dizayn nümunələri: təkrar istifadə edilən obyektlərə yönəlmiş proqram elementləri" adlı kitab.

Əlavə məlumat Vikipediyada mövcuddur.