Sobes.tech
Junior — Middle
100

Кодта декоратор паттернін қолданудың мысалын келтіре аласыз ба?

Сұралған компаниялар
РунитиРунити

AI-дан жауап

sobes.tech AI

Декоратор үлгісі объектілерге жаңа міндеттерді динамикалық түрде қосуға мүмкіндік береді, оларды басқа декоратор объектілеріне орау арқылы.

Python-да мысал — шақыруды логтау үшін декоратор қосамыз:

class Component:
    def operation(self):
        return "Негізгі операция"

class Decorator:
    def __init__(self, component):
        self._component = component

    def operation(self):
        result = self._component.operation()
        return result

class LoggingDecorator(Decorator):
    def operation(self):
        print("Лог: операция шақыруы")
        result = self._component.operation()
        print("Лог: операция аяқталды")
        return result

# Қолдану
component = Component()
decorated = LoggingDecorator(component)
print(decorated.operation())

Шығу:

Лог: операция шақыруы
Лог: операция аяқталды
Негізгі операция

Осылайша, біз Component объектісін LoggingDecorator-ға орадық, логтау функционалдығын бастапқы класс өзгеріссіз қосу үшін.