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"