Назад к вопросам
Фабрика Решения
Junior — Middle
68
В каких случаях и для чего используется паттерн Декоратор в программировании?
Компании, где спрашивали
Soft Media Group
Ответ от нейросети
sobes.tech AI
Паттерн Декоратор используется для динамического добавления новых обязанностей объекту без изменения его исходного кода. Это позволяет расширять функциональность объектов гибко и прозрачно для клиента.
Применяется, когда нужно добавить поведение к объекту во время выполнения, избегая создания множества подклассов для каждой комбинации функций.
В Python декоратор часто реализуется через классы или функции, которые оборачивают исходный объект.
Пример паттерна Декоратор на Python:
class Coffee:
def cost(self):
return 5
class MilkDecorator:
def __init__(self, coffee):
self._coffee = coffee
def cost(self):
return self._coffee.cost() + 2
basic_coffee = Coffee()
coffee_with_milk = MilkDecorator(basic_coffee)
print(coffee_with_milk.cost()) # Выведет 7
Здесь MilkDecorator добавляет стоимость молока к базовому кофе, не меняя класс Coffee.