Паттерн Декоратор — специальный способ организации модулей в программе, который позволяет подставить какую-то новую функцию прямо в середину цепочки вызовов, тем самым чуть-чуть подкорректировав поведение.
Например, в реальном мире очки для чтения это декоратор. Вы ставите их между вашими глазами и текстом. Глобально взаимодействие ваших глаз и текста не меняется: отражённые световые лучи от страницы книги попадают в ваши зрачки, что с очками, что без них. Но очки располагаются посередине: они принимают лучи на вход и преломляют их, передавая дальше вам в глаза уже изменёнными.
Важной особенностью является тот факт, что очки можно снять. Они не требуют ни модификации вашего тела, ни модификации книги. Вообще никакие условия не нужны, кроме наличия самих очков. А если вы в линзах, то внешний наблюдатель может даже этого не знать.
Класс-декоратор должен быть спроектирован так, чтобы не требовать никаких изменений в объектах, с которыми он работает. Его можно отключить, чаще всего буквально закомментировав одну строку.
В примере ниже программа выведет текст "Привет, мир, в натуре.", и вот это дополнение в конце как раз дописано декоратором. Можно убрать или закомментировать подчёркнутую строчку, не трогая остальной код, для всех внешних вызовов сигнатуры останутся теми же самыми, но выводиться будет уже просто "Привет, мир".
В декораторы можно прятать логику, которую буквально навешивают поверх основной функции программы. Например, проверку прав на выполнение операции. Перевод на другой язык, логирование, поддержку обратной совместимости при обновлении и так далее.
#dev
📌Dunyo bo'ylab ta’tilni rejalashtirishga yordam beradigan qulay servis
⭐️ Ushbu sayt yordamida siz istalgan davlat bo‘yicha noodatiy sayohat joylarini, minglab qiziqarli va kam tanilgan lokatsiyalarni topishingiz mumkin — muzeylardan tortib sirli plyajlargacha.
👍 Shunchaki mamlakat nomini kiriting — servis sizga barcha qiziqarli manzillarni ko‘rsatib beradi.
⚡️Sayt manzili
⚡️Bizning barcha loyihalar | #useful
✅ Foydali sayt
cabinet.het.uz – bu orqali maishiy va yuridik iste’molchilar, Internet orqali o‘zlarining elektr tarmog'idagi shaxsiy ma’lumotlarini ko‘rishlari umumkin:
- hisoblagich ko‘rsatkichlarini ko‘rish;
- shaxsiy hisob-raqamining to‘lovlar bo‘yicha joriy holati;
- qarzdorlik miqdori;
- to‘lovlar tarixi;
- telefon raqam o‘zgartirish;
- talabnoma va arizalarni kiritish;
- hisob-kitoblarni tarkibiy qismlari bilan ko‘rish.
P/S: Shu kabi o'zbekcha, siz uchun foydasi tegadigan saytlar haqida postlar chiqishi uchun reaksiya (🔥) qoldiring!
👉Bizning barcha loyihalar | #useful
✅Useful
🇬🇧Making apologies:
🔸 I do apologize for...
🔸 I must apologize for...
🔸 I apologize for...
🔸 I'd like to apologize for...
🔸 I am so sorry for...
🔸 I shouldn't have...
🔸 It's all my fault.
🔸 I'm ashamed of...
🔸 Please, forgive me for...
🔸 Excuse me for ...
🔸 I'm terribly sorry for...
🔸 Pardon me for this...
🔸 Please, forgive me for my....
🔸 Please, accept my apologies for...
🇬🇧Accepting apologies:
🔹That's all right.
🔹 Never mind.
🔹 Don't apologize.
🔹 It doesn't matter.
🔹 Don't worry about it.
🔹 Don't mention it.
🔹 That's OK.
🔹 I quite understand.
🔹 You couldn't help it.
🔹 Forget about it.
🔹 No harm done.
#useful
🤓Kanalga qo'shiling 👇
♻️Channel:@cambridgeIELTSbooks
YouTube|Instagram|Telegram
✅Useful
2023IELTS Test Dates. (IDP and BC)
September, October, November, December
👉REGISTER FOR IELTS
👈
#useful
♻️Sharing is caring 🤓
✅Channel: @cambridgeIELTSbooks
✅Useful
💠 IELTS imtihonini topshirishning sabablaridan biri — bu til bilish darajangizni tekshirish va tasdiqlab olish.
⁉️ Olingan ball qaysi darajaga mos kelishini qanday aniqlash mumkin?
9 — Mutaxassis.
8 — Juda yaxshi daraja.
7 — Yaxshi daraja.
6 — Kompetent foydalanuvchi.
5 — Qoniqarli daraja.
4 — Cheklangan daraja.
3 — Juda cheklangan daraja.
2 — Qoniqarsiz daraja.
1 — Til foydalanuvchisi emas.
0 — Ishtirokchi sinovdan o'tishga urinib ham ko'rmagan.
Sizning sertifikatingiz dunyo bo'ylab 130 dan ortiq mamlakatlardagi 7000 ga yaqin kompaniyalar uchun ingliz tilini bilishingizning isboti hisoblanadi.
#useful
🔝@cambridgeIELTSbooks
✅ Useful
"One who speaks only one language is one person, but one who speaks two languages is two people".
🔸 Bilingual - a person fluent in two languages.
🔹 Trilingual - a person fluent in three languages.
🔸 Multilingual - a person fluent in three or more languages.
🔹 Polyglot - a person fluent in several languages.
📝 Sentence: Mr.Abdulloh can speak more than 8 languages.( Band 6.0 )
📝 Sentence: Mr.Abdulloh is the one who is really Polyglot in his village 🤓 ( Band 7+ )
P.s Learn these high level words and try using them in your sentence.
P.s Learn English with @cambridgeIELTSbooksand start your Bilingual / Trilingual / multilingual journey ! 😉
#useful
🤓Kanalga qo'shiling 👇
🔝@cambridgeIELTSbooks