Декоратор

Декоратор

Юрий Логинов
Позволяет добавлять объектам новую функциональность, оборачивая их в так называемые "обертки".

Применять:

  • Когда нужно добавить объекту обязанностей на лету, незаметно для кода, который их использует.
  • Когда нельзя расширить обязанности путем наследования (класс имеет ключевое слово final).

Плюсы:

  • Большая гибкость
  • Добавление обязанностей на лету
  • Можно добавлять комбинировать обязанности
  • Несколько мелких классов на все случаи жизни

Минусы:

  • Трудно конфигурировать большие комбинации
  • Может быть много мелких классов


Report Page