Middle
რა არის დეკორატორი?
sobes.tech AI
პასუხი AI-სგან
დეკორატორი არის დიზაინის ნიმუში, რომელიც საშუალებას აძლევს დინამიურად დაამატოთ ახალი ქცევა ობიექტს მისი სტრუქტურის შეცვლის გარეშე.
ძირითადი მახასიათებლები:
- მოწესრიგებულობა: საშუალებას აძლევს ობიექტების ფუნქციონალობის დამატებას ან ამოღებას შესრულების დროს.
- საკუთარი დამოუკიდებლობა: ახალი ფუნქციონალი შეიძლება იყოს დამატებული დამოუკიდებლად ძირითადი კლასისგან.
- კომპოზიციის გამოყენება: დეკორატორი შეიცავს მითითებას დეკორირებულ ობიექტზე და გადამისამართებს მოთხოვნებს მასზე, დამატებით ან შემდეგ ლოგიკას ასრულებს.
გამოყენებები:
- ლოგირება
- წვდომის კონტროლი (ავტენტიფიკაცია/ავტორიზაცია)
- მეტადონალობის დამატება
- მეთოდების ქცევის შეცვლა
Python-ის მაგალითი:
# მარტივი ფუნქცია დეკორაციისთვის
def my_function():
return "Hello"
# დეკორატორი
def simple_decorator(func):
def wrapper():
print("ფუნქციის გამოძახებამდე")
result = func()
print("ფუნქციის გამოძახების შემდეგ")
return result
return wrapper
# დეკორატორის გამოყენება
@simple_decorator
def decorated_function():
return "World"
# დეკორირებული ფუნქციის გამოძახება
# decorated_function() გამოიტანს:
# ფუნქციის გამოძახებამდე
# ფუნქციის გამოძახების შემდეგ
# და დააბრუნებს "World"