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" кайтарат