Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
❗️Один из самых ярких испанских политиков, депутат от каталонской политической партии Esquerra Republicana de Catalunya (ERC) Габриэль Руфиан выступил вчера в Мадриде на встрече левых политиков, где произнёс несколько довольно резких фраз.
В своём выступлении, полную запись которого можно посмотреть на Youtube, он назвал бурку – мусульманский женский платок, полностью закрывающий лицо человека, – «salvajada» («дикостью» или «варварством») и «animalada» («зверством»).
🧐 Он также подчеркнул своё видение различия между исламской и католической одеждой, противопоставив бурку или никаб монашескому облачению испанских монахинь: по его словам, платок или монашеское одеяние относится к спектру свободы вероисповедания, а вот бурка — это «дикость», и «нельзя делать вид, будто это нормально».
Жёсткая позиция Габриэля Руфиана по бурке вызвала аплодисменты собравшихся.
☝️Отметим, что на прошлой неделе Габриэль Руфиан вместе с остальными левыми партиями проголосовал в парламенте Испании против запрета бурки.
@amigokonon#religión#islam#partidos#ERC
🇪🇸#Spagna — #ERC e #Junts annunciano, depositando una mozione che verrà votata questo venerdì, che sosterranno un nuovo governo #Sánchez solo a condizione che si impegni a svolgere un referendum per l’indipendenza della Catalogna. Il #PSOE: “Su questa strada non è possibile alcun progresso. Sempre dalla parte della Costituzione”. Si allontana così l’unica ipotesi di governo.
@UltimoraPolitics
#Spagna#Catalogna
Il Parlamento catalano ha dato il via libera, in prima lettura, al disegno di legge del governo per creare un corpo di personale specializzato in azione estera e relazioni con l’#UE, con l'obiettivo di rafforzare la proiezione internazionale della Catalogna. A votare a favore sono stati: #ERC|G/EFA, #Junts|NI, #PSC|S&D, #CUP|LEFT e #ElsComuns|LEFT, ribaltando gli emendamenti generali da parte della destra e dell'estrema destra.
@OsservatorioEsteri