Junior — Middle
Коддо декоратор паттернин колдонуу мисалын бере аласызбы?
sobes.tech AI
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 менен ороп, лог жазуу функциясын коштүк, баштапкы классты өзгөртпөстөн.