Builder pattern.
Bu pattern - murakkab obyektlarni bosqichma-bosqich, bir xil koddan foydalangan holda obyektning turli xil turlari va ko'rinishlarini yaratishga imkon beradi.
Pizza class: Bu sinf yakuniy mahsulotni ifodalaydi. Uning maydonlariga qiymat berish uchun PizzaBuilder obyektini qabul qiladigan private konstruktor mavjud. Bu pizza faqat builder orqali yaratilishini ta'minlaydi.
PizzaBuilder class: Bu sinf Pizza obyektini qurish uchun javobgardir. Bu sinf o'zidagi maydonlarga qiymat berish uchun metodlar va Pizza obyektini yaratish uchun build() metodi mavjud.
Validation: build() metodi obyekt yaratilishidan oldingi tekshiruvlarni amalga oshiradi va kerakli ko'rinishdagi obyektni yaratadi.
Dartda Builder pattern ishini cascade operator qila oladi.
Manbalar:
1. Book : Link
2. Article : Link
3. Medium : Link
Bu pattern - murakkab obyektlarni bosqichma-bosqich, bir xil koddan foydalangan holda obyektning turli xil turlari va ko'rinishlarini yaratishga imkon beradi.
Pizza class: Bu sinf yakuniy mahsulotni ifodalaydi. Uning maydonlariga qiymat berish uchun PizzaBuilder obyektini qabul qiladigan private konstruktor mavjud. Bu pizza faqat builder orqali yaratilishini ta'minlaydi.
PizzaBuilder class: Bu sinf Pizza obyektini qurish uchun javobgardir. Bu sinf o'zidagi maydonlarga qiymat berish uchun metodlar va Pizza obyektini yaratish uchun build() metodi mavjud.
Validation: build() metodi obyekt yaratilishidan oldingi tekshiruvlarni amalga oshiradi va kerakli ko'rinishdagi obyektni yaratadi.
Dartda Builder pattern ishini cascade operator qila oladi.
Manbalar:
1. Book : Link
2. Article : Link
3. Medium : Link
Forwarded from Samandar Ahadjonov
Media is too big
VIEW IN TELEGRAM
#dartdosh #podcast
🤔 O'zbekistonda Rekruiterlarga oson emasmi?
Dartdosh podkastining bugungi sonida tajribali HR Muborak Babayeva bilan suhbat qurdik.
Suhbat davomida:
- Xodim qidirish va topishdagi qiyinchiliklar
- Dasturchilardagi rekruiterlarga nisbatan e'tirozlar
- Ishga topshirishdagi e'tibor qilinishi shart bo'lgan holatlar
- Rezyume va ijtimoiy profilllarni yuritish bo'yicha yo'riqlar
- Ish suhbatidan oson o'tish yo'llari
- Umumiy xatolar, kamchiliklar va yutuqlar
borasida tahliliy va tanqidiy ohangda dardlashdik.
🔗 Podkast uchun havola: https://youtu.be/bOkMgJsh2Ko?si=mmgG9DABRzhjRusn
P.s: Postni tarqatishni va videoga like bosib, izoh yozishni unutmang.
@ahadjonovss
🤔 O'zbekistonda Rekruiterlarga oson emasmi?
Dartdosh podkastining bugungi sonida tajribali HR Muborak Babayeva bilan suhbat qurdik.
Suhbat davomida:
- Xodim qidirish va topishdagi qiyinchiliklar
- Dasturchilardagi rekruiterlarga nisbatan e'tirozlar
- Ishga topshirishdagi e'tibor qilinishi shart bo'lgan holatlar
- Rezyume va ijtimoiy profilllarni yuritish bo'yicha yo'riqlar
- Ish suhbatidan oson o'tish yo'llari
- Umumiy xatolar, kamchiliklar va yutuqlar
borasida tahliliy va tanqidiy ohangda dardlashdik.
🔗 Podkast uchun havola: https://youtu.be/bOkMgJsh2Ko?si=mmgG9DABRzhjRusn
P.s: Postni tarqatishni va videoga like bosib, izoh yozishni unutmang.
@ahadjonovss
Prototype pattern.
Bu pattern - obyektning nusxasini yaratishga yordam beradi va nusxalash logikasini sinfga bog'liqlikdan ajratadi.
Muammo.
Sizda obyekt bor va uning aniq nusxasini yaratmoqchisiz. Buni qanday qilgan bo'lardingiz? Birinchidan, siz bir xil sinfning yangi obyektini yaratib keyin asl obyektning barcha maydonlari qiymatlarini yangi obyektga nusxalashingiz kerak.
Bu yerda bir muammo bor. Barcha obyektlarni shunday nusxalash mumkin emas, chunki obyektning ba'zi maydonlari private bo'lishi mumkin va obyektning o'zidan tashqarida ko'rinmaydi. Bundan tashqari nusxa yaratish uchun sinf nomini bilish kerak bo'ladi bu esa nusxalash sinfga bog'liqligini anglatadi.
Yechim.
Prototip pattern nusxalash jarayonini nusxalanayotgan obyektga topshiradigan interfeysni taqdim etadi va odatda bu interfeys yagona clone metodini o'z ichiga oladi. Nusxalashni qo'llab-quvvatlaydigan obyekt prototip deb ataladi.
Manbalar:
1. Book : Link
2. Article : Link
3. Medium : Link
Bu pattern - obyektning nusxasini yaratishga yordam beradi va nusxalash logikasini sinfga bog'liqlikdan ajratadi.
Muammo.
Sizda obyekt bor va uning aniq nusxasini yaratmoqchisiz. Buni qanday qilgan bo'lardingiz? Birinchidan, siz bir xil sinfning yangi obyektini yaratib keyin asl obyektning barcha maydonlari qiymatlarini yangi obyektga nusxalashingiz kerak.
Bu yerda bir muammo bor. Barcha obyektlarni shunday nusxalash mumkin emas, chunki obyektning ba'zi maydonlari private bo'lishi mumkin va obyektning o'zidan tashqarida ko'rinmaydi. Bundan tashqari nusxa yaratish uchun sinf nomini bilish kerak bo'ladi bu esa nusxalash sinfga bog'liqligini anglatadi.
Yechim.
Prototip pattern nusxalash jarayonini nusxalanayotgan obyektga topshiradigan interfeysni taqdim etadi va odatda bu interfeys yagona clone metodini o'z ichiga oladi. Nusxalashni qo'llab-quvvatlaydigan obyekt prototip deb ataladi.
Manbalar:
1. Book : Link
2. Article : Link
3. Medium : Link
👍1
Adapter pattern.
Bu pattern - mos kelmaydigan interfeyslarga ega obyektlarning birgalikda ishlashiga imkon beradi. U buni mijozga mos interfeysni taqdim etadigan obyekt (adapter) ichiga kerakli obyektni (adaptee) o'rash orqali erishadi. Bu pattern vositachi bo'lganligi sababli, Adapter-ni ba'zan "Wrapper" deb ham atashadi.
Qisqacha qilib aytganda Adapter bu ikki turli tilda gaplashadigan inson o'rtasidagi tarjimon deyish mumkin.
Adapter-ning 2 turi mavjud:
1. Sinf adapteri - vorislik (inheritance) orqali sinf irarxiyasidan foydalandi (subclassing) va asosan ko'p vorislilikni qo'llab quvvatlaydigan C++ kabi tillarda ishlatiladi.
2. Obyekt adapteri - kompozitsiya (composition) yani sinf obyektini o'z ichida saqlash orqali kerakli funksionallikni taqdim etadi.
Manbalar:
1. Book : Link
2. Article : Link
3. Article : Link
4. Medium : Link
Bu pattern - mos kelmaydigan interfeyslarga ega obyektlarning birgalikda ishlashiga imkon beradi. U buni mijozga mos interfeysni taqdim etadigan obyekt (adapter) ichiga kerakli obyektni (adaptee) o'rash orqali erishadi. Bu pattern vositachi bo'lganligi sababli, Adapter-ni ba'zan "Wrapper" deb ham atashadi.
Qisqacha qilib aytganda Adapter bu ikki turli tilda gaplashadigan inson o'rtasidagi tarjimon deyish mumkin.
Adapter-ning 2 turi mavjud:
1. Sinf adapteri - vorislik (inheritance) orqali sinf irarxiyasidan foydalandi (subclassing) va asosan ko'p vorislilikni qo'llab quvvatlaydigan C++ kabi tillarda ishlatiladi.
2. Obyekt adapteri - kompozitsiya (composition) yani sinf obyektini o'z ichida saqlash orqali kerakli funksionallikni taqdim etadi.
Manbalar:
1. Book : Link
2. Article : Link
3. Article : Link
4. Medium : Link
Forwarded from Qudrat Abdurahimov
Soft Skills = Human Skills = Odamiylik!
Soft Skills bu yumshoq ko'nikma emas!
O'zbekchada yumshoq ko'nikma degan narsaning o'zi yo'q.
Asl moxiyatni tushunmagan odamlar tarjima qilganida boshqalar ham shunga ergashyapti.
Soft Skills ning sinonimi Human Skills. O'zbekchasiga "Odamiylik ko'nikmalari" degani.
Misollar orqali tushuntiraman:
1) Vaqtga amal qilish — bu odamiylik
2) Gapni bo‘lmasdan tinglash — bu odamiylik
3) Jamoada mas’uliyat olish — bu odamiylik
4) Tanqidni qabul qilish va yetkazish — bu odamiylik
Xullas, yumshoq ko'nikma atamasini yo'qotib, "Odamiylik ko'nikmalari" atamasini joriy qilamiz. Bunga yillar ketishi mumkin. Lekin to'g'risi ham shu.
@QudratAbdurahimov - Soft Skills|Odamiylik ustozi
P.S. Xabar 21.05.2025 sanada yozildi. Ko'ramiz qachon maqsadga erishar ekamiz :)
Telegram | Instagram | Youtube
Soft Skills bu yumshoq ko'nikma emas!
O'zbekchada yumshoq ko'nikma degan narsaning o'zi yo'q.
Asl moxiyatni tushunmagan odamlar tarjima qilganida boshqalar ham shunga ergashyapti.
Soft Skills ning sinonimi Human Skills. O'zbekchasiga "Odamiylik ko'nikmalari" degani.
Misollar orqali tushuntiraman:
1) Vaqtga amal qilish — bu odamiylik
2) Gapni bo‘lmasdan tinglash — bu odamiylik
3) Jamoada mas’uliyat olish — bu odamiylik
4) Tanqidni qabul qilish va yetkazish — bu odamiylik
Xullas, yumshoq ko'nikma atamasini yo'qotib, "Odamiylik ko'nikmalari" atamasini joriy qilamiz. Bunga yillar ketishi mumkin. Lekin to'g'risi ham shu.
@QudratAbdurahimov - Soft Skills|Odamiylik ustozi
P.S. Xabar 21.05.2025 sanada yozildi. Ko'ramiz qachon maqsadga erishar ekamiz :)
Telegram | Instagram | Youtube
Telegram
Qudrat Abdurahimov
GITA asoschisi |
Dasturchi ustoz |
Soft skills murabbiy
Odamiylikni o'rganamiz!
youtube.com/@QudratAbdurahimov
@gitauz
📞 +998 90 808 37 38
Dasturchi ustoz |
Soft skills murabbiy
Odamiylikni o'rganamiz!
youtube.com/@QudratAbdurahimov
@gitauz
📞 +998 90 808 37 38
Decorator pattern.
Bu pattern - obyektni yangi qatlamlar (layer) bilan o'rash orqali ish vaqtida (runtime) uning funksionalligini kengaytirishning toza usulini taklif qiladi.
Decorator funksionallikni kengaytirish uchun pastki sinfga (subclass) moslashuvchan alternativani taqdim etadi. Oddiyroq qilib aytganda, obyektning ichki qismini o'zgartirish o'rniga, siz uning "po'sti" ni boshqa obyekt bilan o'rash orqali o'zgartirasiz, bu asl obyektga topshirishdan oldin yoki keyin yangi funksionallik qo'shadi.
Adapter vs Decorator.
Adapter mavjud obyektga kirish uchun mutlaqo boshqa interfeysni taqdim etadi. Dekoratorda esa interfeys o'zgarishsiz qoladi yoki kengaytiriladi. Bundan tashqari, Decorator rekursiv kompozitsiyani qo'llab-quvvatlaydi, Adapter esa yo'q.
Manbalar:
1. Book : Link
2. Article : Link
3. Article : Link
4. Medium : Link
Bu pattern - obyektni yangi qatlamlar (layer) bilan o'rash orqali ish vaqtida (runtime) uning funksionalligini kengaytirishning toza usulini taklif qiladi.
Decorator funksionallikni kengaytirish uchun pastki sinfga (subclass) moslashuvchan alternativani taqdim etadi. Oddiyroq qilib aytganda, obyektning ichki qismini o'zgartirish o'rniga, siz uning "po'sti" ni boshqa obyekt bilan o'rash orqali o'zgartirasiz, bu asl obyektga topshirishdan oldin yoki keyin yangi funksionallik qo'shadi.
Adapter vs Decorator.
Adapter mavjud obyektga kirish uchun mutlaqo boshqa interfeysni taqdim etadi. Dekoratorda esa interfeys o'zgarishsiz qoladi yoki kengaytiriladi. Bundan tashqari, Decorator rekursiv kompozitsiyani qo'llab-quvvatlaydi, Adapter esa yo'q.
Manbalar:
1. Book : Link
2. Article : Link
3. Article : Link
4. Medium : Link
🔥1
Proxy pattern.
Bu pattern - asl obyektga kirishni nazorat qiladi, bu sizga so'rov (request) asl obyektga o'tishidan oldin yoki keyin biror narsani bajarishga imkon beradi (access control, lazy init, caching etc).
Obyekt yetkazib berilishi va uning hayot siklini nazorat qiladi. Open/Closed prinsipiga amal qiladi. Obyekt asosiy funksionalligidan tashqari logikalardan ozod qiladi (security, caching, logging etc).
Proksidan foydalanishning ko'plab usullari mavjud: virtual proxy, protection proxy, remote proxy, logging and caching proxy.
Manbalar:
1. Book : Link
2. Article : Link
3. Article : Link
4. Medium : Link
Bu pattern - asl obyektga kirishni nazorat qiladi, bu sizga so'rov (request) asl obyektga o'tishidan oldin yoki keyin biror narsani bajarishga imkon beradi (access control, lazy init, caching etc).
Obyekt yetkazib berilishi va uning hayot siklini nazorat qiladi. Open/Closed prinsipiga amal qiladi. Obyekt asosiy funksionalligidan tashqari logikalardan ozod qiladi (security, caching, logging etc).
Proksidan foydalanishning ko'plab usullari mavjud: virtual proxy, protection proxy, remote proxy, logging and caching proxy.
Manbalar:
1. Book : Link
2. Article : Link
3. Article : Link
4. Medium : Link
Chain of Responsibility pattern haqida qisqacha.
https://medium.com/@android_bek/chain-of-responsibility-pattern-c8c94adba871
https://medium.com/@android_bek/chain-of-responsibility-pattern-c8c94adba871
Medium
Chain of Responsibility pattern.
Bu pattern — so’rov (request) handler zanjiri orqali ulardan biri so’rovni bajarmaguncha ketma-ket uzatilishini taminlaydi. Zanjirdagi har…