Sobes.tech
Junior — Middle
86

В каких случаях и для чего используется паттерн Декоратор в программировании?

Сұралған компаниялар
Soft Media Group
Фабрика РешенияФабрика Решения

AI-дан жауап

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.