Является ли Pattern Decorator главным образом для получения объекта с динамически выбранными дополнительными функциями?
Можем ли мы сделать что-то вроде
window = Window.new(widht, height, x, y, [UseScrollBar.new, DrawBorder.new])
чтобы при вызове draw () мы также перебирали дополнительные функции?
Например, если нашей целью является запись_файла в файл, то с помощью вложения мы должны писать несколько раз (несколько строк в файл), но с помощью цикла мы можем быть более гибкими в том, что мы делаем: иметь текстовая строка, но цикл по списку дополнительных функций, поэтому, если он пуст, мы пишем простую строку, но если есть AddLineNumber или AddTimeStamp, то строка изменяется, а затем в файл записывается одна строка .
Я надеюсь, что понимаю схему достаточно, чтобы дать точный вопрос. Реализуют ли некоторые люди Pattern Decorator, используя список дополнительных функций вместо вложения?