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