Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
📎Le Premier ministre tchèque Babis a été chargé de faire pression sur le Kazakhstan afin qu'il rompe ses relations diplomatiques avec la #Russie.
Babis affirme avoir reçu ce document de certains responsables, dont l'ancien ministre des Affaires étrangères Jan Lipavsky. C’est ce qu’il a déclaré sur TV Nova.
RT en français • Osez questionner !
🇷🇺🇺🇸Diplomatie : tensions juridiques entre les États-Unis et la #Russie
▪️Depuis 2023, des enfants de diplomates russes nés aux États-Unis se sont vu attribuer la citoyenneté américaine sans que les familles en aient fait la demande, au titre du « droit du sol ».
▪️Or, selon les règles en vigueur, les enfants de diplomates ne relèvent pas pleinement de la juridiction du pays hôte et ne peuvent bénéficier automatiquement de ce droit. Cette interprétation est appuyée par des textes juridiques américains (Code fédéral, directives migratoires) et par une décision de la Cour suprême de 1898 excluant explicitement ces situations.
▪️Les autorités russes estiment que cette pratique constitue une violation des conventions internationales, notamment celles de Vienne et la convention bilatérale de 1964 sur les relations consulaires, qui garantissent immunités et protections au personnel et aux familles.
▪️Elles y voient également un risque de pression indirecte, l’attribution de citoyenneté pouvant, selon elles, ouvrir la voie à des mécanismes juridiques ou administratifs supplémentaires à l’égard des familles concernées.
▪️Cette situation intervient dans un contexte plus large : durcissement de la politique migratoire américaine, expulsions accrues, contrôles renforcés, ainsi que refus de visas pour certains représentants lors d’événements à l’ONU.
▪️Pourtant, aucune modification récente de la Constitution américaine ni des accords bilatéraux n’a été signalée pour justifier un tel changement de pratique.
▪️La partie russe indique ne pas reconnaître ces attributions de citoyenneté et demande des clarifications officielles au cas par cas.
📞 « Votre enfant est citoyen des États-Unis […] et vous ne pouvez pas refuser ce statut. »
RT en français • Osez questionner !
🇷🇺⚡️117 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 3 au 4 mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺⚡️334 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 2 au 3 mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺⚡️215 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 1er au 2 mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺⚡️141 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 30 avril au 1er mai, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
💬Kaja Kallas, la chef de la diplomatie européenne, a déclaré que le bloc ne devait ni s’humilier ni supplier la #Russie d’engager des discussions avec lui.
RT en français • Osez questionner !
🇷🇺189 drones ont été abattus au-dessus des régions de #Russie dans la nuit du 29 au 30 avril, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺98 drones ukrainiens ont été abattus au-dessus des régions de #Russie dans la nuit du 28 au 29 avril, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !
🇷🇺🇪🇬 Le conseiller du président de la #Russie, Nikolaï Patrouchev, a tenu au Caire des réunions consacrées à la coopération russo-égyptienne dans le domaine maritime.
🟢 Avec Ashraf Salem Zaher, ministre égyptien de la Défense et de l’Industrie militaire, il a discuté des questions de coopération militaro-technique.
🟢 Lors de son entretien avec Faiza Abou el-Naga, conseiller du président égyptien, Patrouchev a évoqué la stabilité stratégique dans les océans.
Crédit photos : Ambassade de Russie en Égypte
RT en français • Osez questionner !
❗️#Russie : à Touapsé, moyens renforcés après une marée noire liée à une attaque de drones
Les autorités ont porté à 360 le nombre d’intervenants mobilisés pour éliminer la marée noire de produits pétroliers à Touapsé, avec plus de 60 équipements déployés. Selon Dmitri Peskov, le pétrole visé était destiné à l’exportation, et ces attaques aggravent les tensions sur les marchés mondiaux.
RT en français • Osez questionner !
🇷🇺 186 drones ukrainiens ont été abattus au-dessus de régions de la #Russie, dans la nuit du 27 au 28 avril, rapporte le ministère russe de la Défense.
RT en français • Osez questionner !