Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
Various Artists — Turquie Aşik: Chants D'Amour Et De Sagesse D'Anatolie (Inedit, 1991)
#traditional#baglama#ashik#Turkey
Ашики — странствующие поэты-барды, сопровождающие свою песню, будь то традиционный эпический рассказ или более короткое оригинальное произведение, игрой на багламе или сазе. Традиция ашиков — в первую очередь турецкая и азербайджанская. Также она встречается в нетюркских культурах Южного Кавказа и Балканского полуострова. На этом альбоме представлены мужские и женские песни турецких ашиков о любви и мудроси в сопровождении саза.
🔗Spotify | AppleMusic
Ali Ekber Çiçek — Bektashi Music: Ashik Songs (Musiques & Musiciens Du Monde, 1982)
#traditional#baglama#ashik#sufi#Turkey
Бекташи — суфийский орден, распространённый в Турции, Албании, Северной Македонии и Боснии. Он назван в честь суфийского святого Хаджи Бекташи Вели (حاجی بکتاش والی) и близок к шиизму благодаря особому почитанию Али, зятя пророка Мухаммеда.
Жизнь Хаджи Бекташи обросла легендами, одна из которых гласит, что в облике голубя он прибыл в Румский султанат — тюркское государство в Анатолии, существовавшее с XI до XIV века на землях бывшей Византии. Там Бекташи и провёл большую часть своей жизни. Последователь другого суфийского святого X века, Ахмеда Ясави (احمد یسوی), он поселился в деревне Кыршехир, где проповедовал среди небольшой группы своих учеников.
Учение бекташи, как и многие другие суфийские традиции, во многом противоречило ортодоксальному исламу, поэтому многие последователи хранили его в тайне. Во время ритуала «сама» учитель, или баба, разливал ученикам вино. Затем один или несколько поэтов-музыкантов пели, а остальные участники — мужчины и женщины — танцевали серну. Так нарушался запрет на употребление алкоголя и исполнялась музыка, неодобряемая многими мусульманскими общинами.
Альбом Bektashi Music: Ashik Songs раскрывает традиции ордена, сохранившиеся в творчестве ашиков — странствующих поэтов-музыкантов, сродни европейским бардам. Искусство ашиков уходит корнями в музыкальные традиции древних тюркских племён Центральной Азии, переселившихся в Анатолию в XI веке. С XIII века часть ашиков приняла традиции бекташи и сохранила их в своём творчестве.
Песни ашиков-бекташи, называемые нефес («дыхание вдохновения»), представляют собой распевную импровизированную поэзию, сопровождаемую игрой на сазе. Мелодии здесь просты, ведь главная задача музыки — поддерживать слово. Для бекташи сила слов всегда выше музыки.
В традиции ашиков-бекташи путешествие само по себе — проповедь. Поэтому нефес обращаются к темам бренного и вечного, любви к Богу, покорности божественному порядку, почитанию семьи Пророка и отказу от притворства и тщеславия.
🔗Spotify | AppleMusic | Telegram