Dekoratorius – tai funkcija (arba klasė), kuri modifikuoja kitos funkcijos ar metodo veikimą nekeisdama jos pagrindinio kodo. Naudojamas funkcionalumui papildyti (pvz., logavimui, tikrinimui, matavimui).
Pagrindinė idėja:
Funkcija "apgaubiama" kita funkcija, suteikiančia papildomą elgesį.
Paprastas pavyzdys Python:
python
def log_decorator(func):
def wrapper():
print("Funkcija iškviesta")
func()
return wrapper
@log_decorator
def pasisveikink():
print("Labas!")
pasisveikink()
Išvestis:
Funkcija iškviesta
Labas!
Kiti naudojimo atvejai:
- Laiko matavimas
- Autentifikacija
- Duomenų validavimas
- Rezultatų kešavimas
Jūsų pataisymai bus išsiųsti moderatorių peržiūrai, jei informacija tikslesnė/taisyklingesnė
ji bus patalpinta vietoj esamos.