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"