Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
#TAPSWAP VIDEO CODE !!!
Task: Full-Time Students
Ans: 54z1s
Task: Remote Jobs
Ans: zkorac
Task: Earn Big In Crypto | Part 1
Ans: Q82V%
Task: Get Funding With No Cash Upfront
Ans: zksha
Task: Starting From Zero
Ans : honeym
Task : Earn Big In Crypto | Part 2
Ans: 9Q3#G
Task : Side Hustles For Rural Towns
Ans: e8pap
Task : Earn Big In Crypto | Part 3
Ans : X5OUT
Task: Fake Paparazzi
Ans: startn
Task: Personalized Gift Business
Ans: laser
Task: One Person Business
Ans: build
Task: Earn Up To $5,000 As A Crypto Ambassador | Part 1
Ans: 5HD*2
Task: Quit Your 9-5 Job
Ans: strategy
Task: Antique Furniture For Profit
Ans: antique
Task: Win An IPhone & Up To 30,000 USDT
Ans: 9E6R&
Task: Earn Up To $5,000 As A Crypto Ambassador | Part 2
Ans: E4$&3
Task: Shopify Dropshipping Store
Ans: shopify
Task: Game Playtesting
Ans: g8wqa
Task: Gaming Into Cash
Ans: l4le1t
#Tapswap Cinema Codes 27 January 🗓️
☑️Which Crypto Platforms
→2nez
☑️Turn Your Space Into Cash
→cah5
☑️Top Crypto Exchanges
→qhto
☑️stop being broke!
→vtaz
☑️franchise business
→em74
☑️monetize your hobby
→svth
☑️easy money using your car
→q4vd
☑️tapswap update
→waze
☑️make money fast
→sacz
LIKE, FOLLOW AND RETWEET
Join Tapswap 👉https://t.me/tapswap_mirror_1_bot?start=r_452308012