Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
КОНКУРС РЕАКЦИЙ ОТ MEMEALERTS🎉
Главный приз — две PlayStation 5: одна тебе, другая стримеру!
- Поймай смешную реакцию стримера на мем с MemeAlerts и запиши этот фрагмент стрима
- Смонтируй это как стикер, выложи его на MemeAlerts с тегом #react и тэгни стримера
- Запости этот стикер в комментариях к этому посту через бота @memesy, чтобы участвовать в конкурсе
📅 1 июля мы подведём итоги.
🏆 Победит стикер, который наберёт больше всего лайков в комментах — и оба участника (стример и мемодел, записавший его реакцию) получат по PS5. Второе и третье место так же будут ждать призы от MemeAlerts.
🎁 А ещё вручим призы за:
— Лучший монтаж — мемоделу, который сделал самый крышесносный стикер
— Самую лулзную реакцию — выбором жюри MemeAlerts
— Лютый кринж — стримеру, чью реакцию зальют эмодзи 🤡 в комментах к посту
🔥 Стримеры, поддержите! Перешлите этот пост в свои каналы
Ждём реакции на мемы ваших любимых стримеров в комментах к этому посту!
React Wrap Balancer – Matnni avtomatik tartiblaydigan kutubxona
📱 Agar React dasturingizda sarlavha yoki matnlar noto‘g‘ri satrlarga bo‘linib qolsa, react-wrap-balancer kutubxonasi sizga yordam beradi. Bu kutubxona matnni estetik tarzda avtomatik tarzda bo‘lib, ko‘rinishini chiroyli qiladi.
Asosiy afzalliklari:
• Matnni chiroyli tarzda satrlarga ajratadi
• Mobil va desktopda ko‘rinishni moslaydi
• O‘rnatish va ishlatish juda oson
O‘rnatish:
npm install react-wrap-balancer
Ishlatish:
import Balancer from "react-wrap-balancer"; <Balancer> Bu yerda sizning sarlavhangiz yoki matningiz bo‘ladi </Balancer>
🖥GitHub:https://github.com/shuding/react-wrap-balancer
#react
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
🖇️✨🖇️#react от аккомиᝢ
ОЧЕНЬ МНОГО вопросов, чтобы узнать автора канала лучше !
комм/реакция, а я отвечу...
⤹
«💋» : с кем бы ты поцеловался(ась) из подписчиков этого канала?
«💘» : есть ли человек, который знает тебя лучше, чем ты сам(а)?
«🎉» : топ три твоей любимой еды, музыкальных исполнителей и праздников!
«🕊» : скучаешь по кому-то/чему-то сейчас?
«🍓» : какую черту ты ненавидишь в людях, но сам(а) ей обладаешь?
«🍾» : куришь? пьёшь?
«⚡️» : есть ли у тебя какая-то серьёзная болезнь?
«💯» : ситуация, когда ты был(а) на волоске от см🖇️рти?
«🎃» : умеешь ли ты хранить секреты?
«❤️» : на какую песню/фильм/книгу похожи отношения с тобой?
«🍌» : причина, по которой ты лжёшь чаще всего?
«❤️🔥» : убить или быть убитым(ой)? почему?
«☃️» : какие слова тебя больше всего расстраивают?
«🔥» : а какие радуют?
«👻» : самое травмирующее событие?
«🎄» : самое любимое детское воспоминание?
«👍» : что ты любишь в себе больше всего?
«👎» : а ненавидишь?
«🦄» : покажи свою натальную карту. если не знаешь, что это, то просто ответь, какой у тебя знак зодиака?
«💔» : что ты чувствуешь и как ведёшь себя, если невзаимно влюблен(а)?
«👀» : что ты очень хочешь сделать, но никак не можешь решиться?
«🎃» : расскажи самую жуткую, паранормальную и мистическую историю из твоей жизни
«🐳» : есть ли у тебя домашние животные? расскажи о них!
«😎» : покажи свою ленту в пинтересте, экран блокировки и последнюю прослушанную песню
«🙈» : какие у тебя отношения с родителями?
«👾» : что в людях привлекает тебя больше всего?
«😍» : два плюса и два минуса отношений с тобой!
🖇️источник . . .
пожалуйста, репостите ТОЛЬКО С именем отправителя сверху
больше интерактивов тут ⤸
@akkomisreact ;
#webDevelopment#React
🔰
Server Side Rendering with React and Redux
📖 Build React, Redux, and React Router apps using Server Side Rendering (SSR), Isomorphic, and Universal JS techniques
🗣: Stephen Grider
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----
#webDevelopment#react
🌐
Mastering React
Don't get left behind. React is the way forward to building fast, interactive web apps. This course covers everything.
Duration: 13h
220 lessons
Author: CodeWithMosh
🔗Link
-----
Main channel: @repo_science
Coupons: @freecoupons_reposcience
-----