Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
Привет! Данияр на связи.
Поделюсь планами на следующие 3 года. Планы есть планы, это не обещания, они могут меняться, но на сегодня я вижу раскрытие вселенной в таком порядке. В скобках месяц завершения книги, ориентировочный, разумеется. Все это, конечно, довольно оптимистично для меня, но я постараюсь писать чаще и больше, чтобы уложиться в сроки, но не потерять в качестве.
• Крафтер-2 (ноябрь 2023)
• Сидус-3 (декабрь 2023)
• Дисгардиум-12.2 (декабрь 2023)
• Дисгардиум-12.3 (март 2024)
• Нокаут-3 (в соавторстве с Максом Лагно, 2024)
• Сидус-4 (апрель 2024)
• Крафтер-3 (май 2024)
• 99 мир — 3 (июль 2024)
• Кирпичи 3.0 (август 2024)
• Мета-2 (октябрь 2024)
• 99 мир — 4 (декабрь 2024)
• 99 мир — 5 (февраль 2025)
• Жатва душ — 2 (апрель 2025)
• Жатва душ — 3 (июль 2025)
• Мета-3 (сентябрь 2025)
• Селекция-1
• Селекция-2
• Селекция-3
• Второй мир — 1
• Второй мир — 2
• Второй мир — 3
«Нокаут-3» больше зависит от Макса, ему интересно, но у него свои серии. Как оба найдем время, расскажем историю от «Кирки» до «Сноусторма» + расскажем о Третьей мировой.
«Селекция» пока без точных сроков, зависит от того, как пойдут другие серии и вашего интереса. «Второй мир» — продолжение истории Луки Децисиму в новом мире. Название рабочее, потому что может так случиться, что это будет совершенно отдельная серия.
Так же я сейчас могу недооценивать свою графоманию и ошибиться в количестве томов серий.
#планы#levelup
Создай карту своих достижений
Для того, чтобы повысить свою мотивацию, особенно в сложные периоды жизни, хорошо заиметь карту достижений.
Делается она так:
📎Возьми лист бумаги, ручки, карандаши, маркеры. Хорошо, если ты знаешь, что такое mind map, можно воспользоваться таким сервисом.
📎Прочерти длинную линию и разбей ее на временные периоды (по 10 лет, по 5 или даже меньше).
📎После этого вспомни все свои достижения на каждом этапе жизни и нанеси их на бумагу.
📎К каждому пункту добавь слова или картинки, которые связаны именно с этим событием. Используй цветные маркеры!
📎Держи карту на видном месте. И в тот момент, когда все будет валиться из рук, или покажется, что все идет не так, она будет напоминать тебе, сколько всего ты уже смог достичь!
#levelup#improvingyourself
@selfdeprules
🔥 BU O‘YIN EMAS — BU PORTLASH.
2 kunlik adrenalin.
Cheksiz gaming.
Haqiqiy battle.
⚡ Bu yerda tomoshabin va faqat o‘yinchilar bor.
⚡ Bu yerda tasodif yo‘q — faqat mahorat gapiradi.
⚡ Bu yerda oddiylik yo‘q — faqat shov-shuv.
🚀 Sahna tayyor. Maydon qiziyapti.
SEN QACHON CHIQASAN?
—————————
🔥 THIS ISN’T A GAME — IT’S AN EXPLOSION.
2 days of adrenaline.
Unlimited gaming.
Real battles.
⚡ No spectators — only true players.
⚡ No luck — only skill speaks.
⚡ Nothing ordinary — only pure hype.
🚀 The stage is set. The arena is heating up.
WHEN DO YOU STEP IN?
#GameFest2026#LevelUp#BattleMode
🎮 Attention Gamers! 📸 Big 200 Go!Bots giveaway!! Capture Epic Moments and Win Big! 🏆
📢 Get ready for the ultimate gaming challenge! Introducing the 🌟 EA Games Screenshot Challenge 🌟 brought to you by Health Hero. 🎉 Show off your gaming skills, share your most jaw-dropping EA Games screenshots, and earn 💪 Health Hero rewards!
Starts: Tuesday, June 20, 2023
Ends: Tuesday, June 23, 2023
📸How to participate? Visit https://zealy.io/c/healthhero-7008/questboard to get your quests started!
📢 Don't wait! Grab your gaming gear, start snapping those jaw-dropping screenshots, and let the gaming magic begin! 🚀✨
📢 Disclaimer: This challenge is purely for gaming enthusiasts and is not endorsed or affiliated with EA Games. It's all about celebrating our shared love for gaming and having a blast together!
🎮📸#GamingHeroes#EAGameScreenshotChallenge#HealthHero#CaptureTheMoment#LevelUp#GameOn
@Axenia_Bot
Qué puede hacer este bot?
Este bot puede contar los puntos de karma en grupos. Escriba '+' para subir o '-' para reducir puntos al usuario que responde.
Idioma: Inglés, Ruso, Ucraniano, Uzbeco, Turco
(visto en @BotsGram_cu)
#karma, #ranking, #points, #toplist, #stats, #statistic, #inline, #levelup, #group, #top, #analytic, #statistics, #statistics, #member, #member, #groups, #activity