Middle
Dekorator nima?
sobes.tech AI
AIdan javob
Dekorator — bu dizayn shabloni bo'lib, u ob'ektga dinamik tarzda yangi xulq-atvor qo'shish imkonini beradi va uning tuzilishini o'zgartirmaydi.
Asosiy xususiyatlar:
- Moslashuvchanlik: ob'ektlarning funksionalligini bajarilayotgan paytda qo'shish yoki olib tashlash imkonini beradi.
- Mustaqillik: Yangi funksionallik asosiy sinfdan mustaqil ravishda qo'shilishi mumkin.
- Kompozitsiyadan foydalanish: Dekorator dekoratsiya qilingan ob'ektga havola saqlaydi va so'rovlarni unga yo'naltiradi, bajarilishidan oldin yoki keyin logika qo'shadi.
Qo'llanilishi:
- Log yozish
- Kirish huquqini tekshirish (avtorizatsiya/avtentiqatsiya)
- Metama'lumotlar qo'shish
- Usullarning xulq-atvorini o'zgartirish
Python misoli:
# Dekoratsiya uchun oddiy funksiya
def my_function():
return "Hello"
# Dekorator
def simple_decorator(func):
def wrapper():
print("Funktsiya chaqirilishidan oldin")
result = func()
print("Funktsiya chaqirilishidan keyin")
return result
return wrapper
# Dekoratorni qo'llash
@simple_decorator
def decorated_function():
return "World"
# Dekoratsiya qilingan funksiyani chaqirish
# decorated_function() quyidagicha chiqadi:
# Funktsiya chaqirilishidan oldin
# Funktsiya chaqirilishidan keyin
# va "World" ni qaytaradi