Dizayn Patternlarga kirish (Design patterns)

Dizayn Patternlarga kirish (Design patterns)

Akhmadiy

Design pattern nima ?

Design patterns bu dasturiy ta'minotni loyihalashdagi kelib chiqadigan keng tarqalgan muamolarga yechimlar. Ular sizning kodingizda takrorlanadigan design problemini hal qilish uchun sozlashingiz mumkin bo'lgan oldindan tayyorlangan standart shablonlar to'plami

Siz o'z dasturingizga shunchaki Design patterns nusxalab qo'yib ishlatib keta olmaysiz. Design pattern bu kod bo'lagi emas. Balki muayyan muamoni hal etish uchun umumiy tushuncha va standartlashgan yechimlarning (shablonlari). Siz ushbu shablonlari ko'rib chiqib o'zingizni muamoyingizga mosini topib shuni o'z dasturingizda qo'llashingiz mumkun

Design patternsni ko'pincha algorithmlar bilan adashtirib yuborishadi, chunki ikkala tushunchada ham ba'zi ma'lum bo'lgan muammolarning tipik echimlari tasvirlangan. Algoritm har doim qandaydir maqsadga erishishi mumkin bo'lgan aniq harakatlar majmuini belgilab beradigan bo'lsa, pattern bu yechimning yanada yuqori darajadagi tavsifidir. Ikki xil dasturga qo'llaniladigan bir xil pattern kodi boshqacha bo'lishi mumkin.

Design pattern nimadan iborat?

Patternlarning tavsiflari odatda juda rasmiy va quyidagi g'oyalardan iborat:

  • Muamoni hal etuvchi shablon
  • Muammoni namuna ko'rsatadigan tarzda hal qilish uchun motivatsiya
  • Echimni tashkil etadigan class (sinflar) ning tuzilishi
  • Dasturlash tillaridan biridagi misol
  • Turli xil sharoitlarda amalga oshirishning o'ziga xos xususiyatlari
  • Boshqa patternlar bilan bog'lanish.

Yuqoridagi ushbu formalizm patternlarning keng katalogini yaratishga, ularning har birini izchilligini tekshirishga imkon berdi.

Patternlar klassifikatsiyasi

Patternlar loyihalashtirilgan tizimning murakkabligi, tafsilotlari va qamrov darajasi bilan farq qiladi. Real hayotdagi qurilish misolida olsak: Siz aftomobil yo'lini qursangiz piyodalar uchun piyodalar o'tish joyi yoki bo'lmasa xavfsizlikni yanada taminlash maqsadida yer osti yo'li qurishingiz mumkun. Ikkisida maqsad piyodalarni aftomobil yo'lidan o'ta olishini taminlash bo'lsa. Natija esa harxil bo'lishi mumkun. Dasturlashda qurilayotgan tizimga ma'lum patternlarni qo'llashda ham huddi shunday.


Patternlarning quyi va yuqori darajalari (low and hight level patterns)

Eng quyi darajadagi oddiy patternlar - (idioms) Ular universal emas, chunki ular faqat bitta dasturlash tili doirasida amal qiladi.

Eng universal patternlar (architectural patterns) - Yuqori darajali patternlar hisoblanadi . Ularni deyarli barcha dasturlash tillarida qo'llay olasiz. Dasturning ma'lum individual elementlari bo'lmaydi balki dasturning umumiy arxitekturasida ishlatiladigan patterndir.

Bundan tashqari, patternlar ularning maqsadi bilan farq qiladi va kategoriyalanadi.

  • Ishlab chiquvchi (Creational) patternlar - obektlarni yaratish mexanizmlarini ta'minlash moslashuvchanlikni oshirish va mavjud kodni qayta ishlatish uchun imkon beradigan patternlar kategoriyasi
  • Strukturaviy (Structural) patternlar - Obyektlarni keraksiz bog'liqliklardan holi ravishda moslashuvchanlik imkoniyatini taminlashga imkon beradigan patternlar kategoriyasi
  • Xulq-atvorga oid (Behavioral) patternlar - Obyeklar ortasidagi munosabatlarni yo'lga qo'yishda obyektar o'rtasidagi javobgarlikni yo'lga qo'yishdga imkon beradigan patternlar kategoriyasi

Nima uchun design patternlarni o'rganishim kerak ?

To'g'risini aytsam, siz ko'p yillar davomida bitta pattern haqida bilmasdan dasturchi sifatida ishlashingiz mumkin )). Ko'p insonlar shunday qilishadi. Siz o'zingiz bilmagan holda ba'zi bir patternlarni amalda qo'llashingiz mumkin.

Xo'sh, nima uchun ularni o'rganishga vaqt sarflashim kerak?

  • Dizayn patternlar (Design patterns) dasturiy ta'minotni ishlab chiqishda keng tarqalgan muammolarni sinab ko'rilgan echimlar to'plamidir. Agar siz hech qachon bunday muammolarga duch kelmasangiz ham, patternlarni bilish baribir foydalidir, chunki u ob'ektga yo'naltirilgan dizayn tamoyillaridan foydalangan holda barcha muammolarni qanday hal qilishni o'rgatadi.
  • Dizayn patternlar siz va sizning tilingizdagi umumiy tilni belgilaydi jamoadoshlar bilan ham yanada samarali muloqot qilish uchun foydalanishlari mumkin. Yani dasturchilar umumiy birxil tilda gaplashadilar. Siz yoki sizga etish mumkun "Oh, shunchaki buning uchun Singletondan foydalaning" va buni barcha tushunadi. Agar sizni design patternlardan xabaringiz bo'lsa aytilgan gapni g'oyasini darxol tushunasiz.

Ushbu maqola birnechta resurslar asosiyda ishlab chiqildi.

Etiboringiz uchun rahmat !

https://t.me/programming_everyone

Report Page