Junior — Middle
Python'da singleton naqshining amalga oshirilish prinsipi va uning asosiy xususiyatlarini tushuntirib bera olasizmi?
sobes.tech AI
AIdan javob
Python'da singleton naqshasi, dastur davomida faqat bitta sinf nusxasi mavjud bo‘lishini ta’minlash uchun amalga oshiriladi.
Eng oddiy amalga oshirish usullaridan biri, sinfga maxfiy atribut va bu yagona nusxani qaytaradigan metodni qo‘llashdir:
class Singleton:
_instance = None
def __new__(cls, *args, **kwargs):
if not cls._instance:
cls._instance = super().__new__(cls)
return cls._instance
# Foydalanish
s1 = Singleton()
s2 = Singleton()
print(s1 is s2) # True
Xususiyatlar:
- Pythonda, nusxa yaratishni cheklash uchun ichki mexanizm mavjud emas, shuning uchun singleton qo‘lda amalga oshiriladi.
- new metodidan foydalanish ob’ekt yaratishni nazorat qilish imkonini beradi.
- Singleton global holatni boshqarish uchun foydalidir, masalan, konfiguratsiyalar yoki ma’lumotlar bazasi ulanishlari uchun.
- Juda ko‘p singletonlardan foydalanish test qilish va kodni qo‘llab-quvvatlashda muammolar keltirib chiqarishi mumkin, shuning uchun ehtiyot bo‘lish tavsiya etiladi.