Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
#admin@cosmosy
✨ В Корее уже 11 апреля, а значит пришло время поздравить наших очаровательных cosmosy с первой годовщиной со дня их официального дебюта!
👍 За этот год девочки подарили нам 2 прекрасных альбома, множество интересных клипов, а также ярких выступлений и образов! Они рассказывают нам свою историю, в которой они одновременно предстают в качестве обычных школьниц, в качестве айдолов и даже мифических существ!
🎉 Желаем cosmosy оставаться такими же милыми и целеустремлёнными! Пусть у них будет как можно больше верных поклонников, а в работе пусть их окружают внимательные и заботливые люди!
🤗 Счастья, здоровья и успехов вам, наши дорогие Химеша, Дихана, Камион и Эймей!
يه جوری لفت میدین ک انگار سيبيلاي معين رو من زدم😐
لباي شهرام صولتي رو من پروتز کردم😐
کليپس رو من ساختم😐
من گفتم پسرا ابرو بردارن😐
من گفتم گلزار اهنگ بخونه😐
سرعت نت رو من اوردم پايين😐
شماره احسان علی خانی رو من دارم😐
که دخترا خواستگار ندارن تقصیر منه😐
کولر خونه رو من خاموش میکنم😐!
خو لفت ندین دیع😐😐😒
#Admin
@dardodelhayeman751
✨Good evening our dear members. How are you doing? Hope you're all fine and safe!
I hope you find the posts useful and you're really doing a great progress in developing listening and reading skills.👍🏻
My advice for you is to listen and read regularly and reinforce them through answering the quizzes after each recording.🎧
Best wishes!🌹
✍🏻#admin
✨Good afternoon, dear friends.🌸
Be ready for tonight's quiz onThe First, Second&Third Conditionalslessons. So kindly, give them a quick review!🙂
✍🏻#admin
✨ Good evening dear friends 🌸
How are you all doing? Hope you're doing great and making a good use of your time at home!🙂
Kindly, review all the lessons about the future above👆🏻and be well prepared for the quiz tonight, God willing.
I expect to see more interaction than before. The more you participate in answering the questions, the more you understand the grammar rules and guidelines.👌🏻
Stay home, wash your hands regularly and be safe.😊
✍🏻#admin
Good evening dear friends! 🌺
Are you ready for tonight's quiz? I'm sure you are!👍 It's gonna be on the last two lessons:Going to and Will.
Stay home and be safe.🙂
✍🏻#admin
Good evening dear friends.🌸
Kindly, review the last two lessons on the past perfect simple and past perfect continuous for tonight's quiz, God willing.😊
Please, stay home and be safe! 🤲
✍#admin
@EnglishGrammarSecrets
Dear members!✨
This is your channel, so if you have any comment, suggestion or question, feel completely free to send it here👇.
@EnglishGrammarSecrets_bot
✍#Admin
https://medium.com/django-musings/customizing-the-django-admin-site-b82c7d325510
Customizing the #Django#Admin site
Let’s start by saying that Django’s admin site is spectacular. It can literally save you months of work, but having said that, one thing that one needs to understand is that Django’s admin site is only ok as an internal tool. It is not, and never has been intended to be, an end user tool.
✨Good morning, dear friends. Have a wonderful day ahead.☀️
Be ready for tonight's #quiz onMixed Conditionalslesson. So kindly, give them a good review!💪🏻🙂
✍🏻#admin