Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
Dizayn tizimingdagi tokenlar ish jarayonini qanday o‘zgartirib yuborishini bilasanmi?
Komponentlar va auto layoutlar bu «zo‘r narsa», lekin tokenlarsiz sen vaqtni tejash va dizayndagi bir xillik (consistency)ning eng muhim qismini boy berasan.
Tokenlar — bu ranglar (colors), shriftlar (typography), bo‘shliqlar (spacing) va boshqa uslubiy (style) parametrlar uchun o‘zgaruvchilar (variables) hisoblanadi.
Tasavvur qil, bitta token qiymatini o‘zgartirasan va butun mahsulot avtomatik yangilanadi. 💎
50 ta ekran dizaynini qo‘lda tahrirlashni xohlaysanmi? 🤯
— Albatta yo‘q. Tokenlar bu ishni atigi ikki bosishda hal qiladi, xatolar sonini kamaytiradi va relizlarni (releases) tezlashtiradi.
P.S. Tokenlar bilan ishlashdagi samarali tajribalarni izohda yozib qoldiramiz)
@suxrobblog
» #designsystem#token#variables
🦄 Привет, сделал набор для визуализации цветовых токенов и анимации и ещё кое-что
👉 Ссылка на кит в community
У меня давно возникла идея наглядно визуализировать цвета, чтобы было прямо как в цветовой палитре, но сразу все цвета, с явными взаимосвязями.
Я делился скринами этой "витрины токенов" в чате по дизайн системам и недавно мне напомнили, попросили скинуть.
Недолго думая, решил прост опубликовать в community.
Плюс докрутил ещё один вид с тремя графиками которые пересекаются (saturation-lightness-hue), это будет полезно если токены сильно разбросаны по hue или saturation.
Ну и ещё пару мелочей до кучи: handoff для анимации и красивые стрелочки
Не знаю, насколько полезно кому-то кроме меня. Но в любом случае, я уже потратил на это добрую половину своего сна, и его уже не вернуть
👁️👄👁️
Если кто-то заглянет и оценит, буду очень благодарен 🍊 а за коммент-фидбек виртуально обниму-приподниму каждого ♥️
Всё в голубой альфе (если что)
@Apollosvg ⋅ #resource#designsystem ⋅ #ui#ux#фигма#uikit
👊 У Smashing Magazine сегодня будет бесплатная онлайн-конференция по дизайн системам (19:00 мск), если кому интересно
https://smashingconf.com/meets-design-systems-2026/schedule
🗣️ Будет 3 выступления (на английском):
1. Как культура может сократить разрыв в ценности дизайн-систем (19:10 – 19:50 по мск)
Как корпоративная культура помогает преодолеть разрыв между ожидаемой и реальной ценностью дизайн-систем, делая их по-настоящему полезными для команд.
2. Можно ли отключить эту кнопку? Управление дизайн-системами в крупных организациях (19:50 – 20:30 по мск)
Как устанавливать правила, предотвращать хаос и сохранять гибкость без ущерба для креативности.
3. Beats to Buttons: дизайн-система диджеинга (20:40 – 21:20 по мск)
Как принципы дизайн-систем применяются к миру диджеинга — от ритмов к интерфейсам, с практическими примерами креативного подхода.
Кликните на вашу любимую реакцию, если было полезно 💘🍌🐳
@Apollosvg ⋅ #designsystem#ds ⋅ #ui#ux#фигма#uikit
🤨 Разные продукты с одной дизайн системой (?)
Могут ли разные продукты на основе одной ДС иметь различия в компонентах, цветах и тд? Вроде бы банальный вопрос, и ответ очевиден — да.
Но недавно столкнулся с таким необычным мнением: у приложений Гугла «буквально нет одинаковых элементов». Мнение было подкреплено скринами Google One и News...
Решил выяснить, что разного увидел собеседник, ведь приложения практически идентичны по визуалу и очевидно используют одну ДС. Ответ убил: «отличается между ними буквально все, шрифт, цвета, отступы».
Понятно, что это довольно редкое (даже уникальное) мнение и, похоже, непонимание предмета разговора.
Но давайте разберём эти отличия и отличия ли это вообще.
[ Под картинкой весь текст не помещается, разбор в следующих постах ]
Перейти к 🧪 Часть 2: Шрифт, Цвета и Отступы
@Apollosvg ⋅ #designsystem ⋅ #ui#ux#интерфейс#дизайнсистема#дс
Привет, спишь?) Я тут случайно наткнулся на open-ui ⚹¹ это очередная база дизайн систем (и их компонентов), вроде ничего особенного, но... Там есть очень занятная сравнительная таблица компонентов ⚹² и в целом у проекта упор на статистику частотности названий.
В общем, таблица сложночитаемая и немного странненькая, но её можно смело юзать при подборе названия для своих компонентов. Плюс можно быстро перейти к странице условного button компонента в разных системах, не тратя время на гуглёжку :)
А какие ресурсы вы юзаете когда нужно подобрать название компонента? Напишите в комментах ✍️👀 (да, это призыв к активности)
Upd. Написал заумный пост = минус два подпичника...
⚹ open-ui.org
@Apollosvg ⋅ #resource#designsystem ⋅ #ui#ux#figma#фигма#дизайн#дс
✨ Статья: как я создал figma-плагин без написания кода (всё на AI)
Фух потратил на неё миллион часов. Вышло длинновато (4600+ слов...), но я оформил с оглавлением и некоторые главы можно смело скипать, если не интересно (например, про мои отношения с AI).
Поддержите прочтениями и лайками/сохранениями, если понравилась. Буду супер-благодарен ♥️
О, ещё там опрос в конце, можно проголосовать
ㅤ
👉 Ссылка на статью
ㅤ
↖ Пост про сам плагин
@Apollosvg ⋅ #article#resource#plugin#designsystem ⋅ #ui#ux#фигма#uikit