Sobes.tech
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"