Singleton
Xondamir Abduxoshimov
SIngleton dizayn patterni bilan tanishish orqali Creational DIzayn Patternlar oilasiga yakun yasaymiz.
Singleton dasturlash olamida keng tarqalgan dizayn patternlardan biridir. Pattern bizga, dastur davomida bitta obyektni global olib yurishga imkon yaratadi. Ya'ni, siz har safar singleton sinfiga murojaat qilganingizda u doimo bitta obyektni qaytaradi. Oddiyroq qilib, bitta obyektga ega bo'lgan sinf deyishimiz ham mumkin.
Singletonni implement qilishni bir necha ko'rsatmalari mavjud. Quyida ulardan ba'zilarini keltirishimiz mumkin:
Parametrga ega bo'lmagan, private konstruktorni yaratish orqali
Sealed sinf orqali
Yagona yaratilgan obyektga yo'l ko'rsatuvchi statik o'zgaruvchi orqali
Asosiy 6 ta implement qilish usuli mavjud:
No Thread-Safe Singleton
Thread-Safety Singleton
Double-Check Locking oqali Thread-Safety Singleton hosil qilish
Lazy<T> type orqali
To'liq lazy instatsiyasi orqali
Hech qanday bloklash va lazy instantatsiyasiz Thread-Safe Singleton implementatsiyasi
Maqolamizda No Thread-Safe Singleton implementatsiyasi qanday amalga oshirilishini ko'rib o'tamiz.
No Thread - Safe implementatsiyasi
Natija:
Ushbu implementatsiya usuli multithreading bilan ishlashda xatoliklarga olib kelishi mumkin. Ushbu holatda boshqa holatlar yaxshiroq yechim bo'ladi oladi.
Ko'rib tuganingizdek ushbu Singleton paterndan foydalanishni tushunish unchalik qiyin emas. Umid qilamanki, siz allaqachon anglab yetdingiz. Qolgan holatlarni esa, o'zingizga havola etamiz.
Last updated