Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
⌨Разработчики Duet Night Abyss анонсировали... клавиатуру
😍 Прошла трансляция разработчиков Duet Night Abyss, на которой они рассказали о нововведениях и анонсировали новые скины. В том числе, скин на оружие в виде клавиатуры.
😍 Новая версия игры выйдет 7 апреля.
😍 Промокоды с трансляции:
• THEGRANDINCENSERITE
• THEFIRMAMENTUNBOUND
• WILLBENEATHTHEWINGS
💬 Вместо решения проблем добавили пароль для блокировки предметов...
🤨 Не знаю даже, как это комментировать.
[Тег: #DNA]
😍 Больше в iNFO Daily
😍Duet Night Abyss снова взломали
😍 Помимо недавнего взлома серверов, хакеры воспользовались технической уязвимостью и внедрили в официальный клиент игры вредоносное ПО, похитившее личные данные игроков. Ходят слухи, что злоумышленники смогли взломать аккаунты в соцсетях (обойдя двухфакторную аутентификацию) и получить доступ к веб-камерам.
😍 Разработчики сообщили лишь о «проблемах со входом» и, внимание, выдали компенсацию в размере 100 валюты.
Для меня это уже не шутки. Это просто провал...
😰 У игры нет защиты и страдают реальные люди. Их аккаунты и данные под угрозой. Это просто ужасно.
[Тег: #DNA]
😍 Больше в iNFO Daily
❓Сервера Duet Night Abyss взломали?
😍 Сегодня пользователи keitaro_gg и sedum нашли способ менять получаемую валюту в промокодах на сотни тысяч, а по слухам — миллионы. Разработчики пока не могут отследить все изменения и исправить ситуацию.
Параллельно появляются новые промокоды с аномально высокими наградами. Делиться ими не собираюсь. Я не поддерживаю подобное.
Также ходят слухи, что у игры слабая защита. Данные о будущих обновлениях якобы уже в руках третьих лиц и постоянно сливаются.
💬 Репутация у игры и так печальная, а эта ситуация её окончательно добивает... Честно, я просто в шоке.
[Тег: #DNA]
😍 Больше в iNFO Daily
🧬 Новые днк-соответствия и список дальних родственников за эти выходные. А также персональные детали из области популяционной генетики, уточнения по здоровью, предрасположенность к синдромам и болезням, и куча другой информации.
А вы интересовались своим геномом? Может быть своим прошлым, молекулярной генеалогией или днк-тестами по медицине?
#dna#днк
#dna meme of the day
(Asking chatgpt how aryan a person is rather than using tools like g25 and qpAdm with appropriate modeling)
#мемдняДНК
(Спрашивать в чате, насколько "ариец" человек, вместо использования инструментов, таких как g25 и qpAdm, с соответствующим моделированием)
@illyrianometer
🌎 The quagga was a unique subspecies of the plains zebra, native to South Africa, with striped forequarters fading to brown at the back. Its sudden extinction in the late 19th century puzzled scientists for years, but recent DNA studies confirmed it was closely related to modern zebras, not a distinct species as once believed. ✨
#quagga⚡#extinction⚡#DNA
👉subscribe Interesting Planet
👉more Channels