Sobes.tech
Junior — Middle
109

Σε ποιες περιπτώσεις χρησιμοποιείται το μοτίβο Διακοσμητής για την επέκταση της λειτουργικότητας των αντικειμένων;

Εταιρείες όπου ρωτήθηκαν
Код Открытия

Απάντηση από AI

sobes.tech AI

Паттерн Декоратор используют, когда нужно динамически расширить функциональность объекта без изменения его исходного кода или создания большого количества подклассов. Это удобно, если:

  • Требуется добавить поведение объекту во время выполнения.
  • Нужно комбинировать различные расширения гибко и независимо.

Пример на 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

Здесь объект coffee_with_milk расширяет функциональность базового кофе, добавляя стоимость молока.