Middle
Dekoratör nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dekoratör, nesnesine dinamik olarak yeni davranışlar eklemeye olanak tanıyan bir tasarım desenidir ve yapısını değiştirmez.
Ana özellikler:
- Esneklik: Nesnelerin fonksiyonelliğini çalışma zamanında eklemeye veya kaldırmaya olanak tanır.
- Bağımsızlık: Yeni fonksiyonellik ana sınıftan bağımsız olarak eklenebilir.
- Bileşim kullanımı: Dekoratör, dekor edilen nesneye bir referans içerir ve istekleri ona yönlendirir, ekleme veya sonrası işlemlerle mantık ekler.
Uygulamalar:
- Günlük kaydı
- Erişim kontrolü (kimlik doğrulama/yetkilendirme)
- Meta verilerin eklenmesi
- Metotların davranışının değiştirilmesi
Python örneği:
# Dekorasyon için basit fonksiyon
def my_function():
return "Hello"
# Dekoratör
def simple_decorator(func):
def wrapper():
print("Fonksiyon çağrısından önce")
result = func()
print("Fonksiyon çağrısından sonra")
return result
return wrapper
# Dekoratörün kullanımı
@simple_decorator
def decorated_function():
return "World"
# Dekore edilmiş fonksiyonun çağrılması
# decorated_function() şu çıktıyı verir:
# Fonksiyon çağrısından önce
# Fonksiyon çağrısından sonra
# ve "World" döner