Middle
Dekorator nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Dekorator — bu dizayn nümunəsidir və obyektə dinamik olaraq yeni davranış əlavə etməyə imkan verir, onun strukturunu dəyişmir.
Əsas xüsusiyyətlər:
- Əlverişlilik: Obiektlərin funksionallığını işləmə zamanı əlavə etməyə və ya çıxarmağa imkan verir.
- Müstəqillik: Yeni funksionallıq əsas sinfdən müstəqil şəkildə əlavə oluna bilər.
- Kompozisiyadan istifadə: Dekorator, dekorasiya olunan obyektə istinad edir və sorğuları ona yönəldir, icra əvvəlində və ya sonra məntiq əlavə edir.
Tətbiqlər:
- Loglama
- Girişə nəzarət (avtentifikasiya/avtorizasiya)
- Meta məlumatların əlavə olunması
- Metodların davranışını dəyişdirmək
Python nümunəsi:
# Sadə dekorasiya funksiyası
def my_function():
return "Hello"
# Dekorator
def simple_decorator(func):
def wrapper():
print("Funksiyanın çağırışından əvvəl")
result = func()
print("Funksiyanın çağırışından sonra")
return result
return wrapper
# Dekoratorun tətbiqi
@simple_decorator
def decorated_function():
return "World"
# Dekorasiya olunmuş funksiyanın çağırılması
# decorated_function() aşağıdakı çıxışı verəcək:
# Funksiyanın çağırışından əvvəl
# Funksiyanın çağırışından sonra
# və "World" qaytaracaq