Inson faoliyatining qonuniyatlari



Yüklə 371,15 Kb.
səhifə1/13
tarix28.05.2022
ölçüsü371,15 Kb.
#116351
  1   2   3   4   5   6   7   8   9   ...   13
1DTA TURABOYEV


Inson faoliyatining qonuniyatlari
Loyihalashtirish namunasi tushunchasi, Loyihalashtirish namunalarining tasnifi va tahlil va me'moriy uslublarning ba'zi tez-tez qo'llaniladigan namunalari ko'rib chiqiladi.
Tajribali dasturiy ta'minot loyihachisining ishi va yangi boshlanuvchining ishi o'rtasidagi farq nima? Mutaxassisning tajribasi unga hal qilinishi kerak bo'lgan vazifalarni aniqroq aniqlash, ular orasida eng muhim va ahamiyatsizlarini aniqroq ajratib ko'rsatish, kelajakdagi tizim ishlashi kerak bo'lgan cheklovlarni aniqroq tasavvur qilish imkonini beradi. Lekin eng muhimi, ekspert muayyan vaziyatlarda maqbul yoki nomaqbul bo‘lgan yechimlar, ular tomonidan taqdim etilgan dasturiy ta’minot tizimlarining xususiyatlari to‘g‘risida to‘plangan bilimlari va murakkab masalaga yuqori sifatli yechimni tezkor tayyorlash qobiliyati bilan ajralib turadi. bu bilim.
Barcha fanlar o'qituvchilarining azaliy orzusi - bunday bilimlarni "eng sof shaklda" ajratib olish va ularni mutaxassislarning keyingi avlodiga samarali o'tkazishdir. Murakkab tizimlarni loyihalash sohasida 20-asrning ikkinchi yarmida Loyihalashtirish namunalari ( Loyihalashtirish namunalar yoki oddiygina namunalar ), namuna echimlari yoki namunalar deb ham ataladi. Namunalar eng ko'p turli xil talablarga ega bo'lgan murakkab tizimlarni qurishda qo'llaniladi.
Loyihalashtirish namunalari qayta foydalanish mumkin, dasturlash muammolariga optimallashtirilgan echimlardir
O'z tajribalariga asoslanib, tadqiqotchilar va dasturiy ta'minotni ishlab chiqish bo'yicha amaliyotchilar ko'plab namunalarni aniqladilar - tipik arxitekturalar, alohida quyi tizimlar va modullar uchun Loyihalashtirish echimlari yoki oddiygina dasturlash texnikasi - bu odatiy muammolarga etarlicha yuqori sifatli echimlarni olish imkonini beradi va g'ildirakni qayta ixtiro qilmaydi. har safar.
Loyihalashtirish namunalarini qidirishda eng faol ishtirok etgan odamlar , garchi ular ma'lum domenlarga xos bo'lsa-da, mavhumlikning yuqori darajasiga ega bo'lgan namunalarga asoslangan tillarni yaratishga harakat qilishdi. oddiy tillarga qaraganda dasturlash. Bunday tilni yaxshi biladigan odam mos namunalarni to'g'ri tartibga solish orqali ushbu mavzu bo'yicha ilovalarni kam yoki hech qanday kuch sarflamasdan yaratishi mumkin deb taxmin qilingan. Ushbu dastur hech qachon amalga oshirilmagan, ammo aniqlangan namunalar, shubhasiz, murakkab dasturiy ta'minot tizimlarini loyihalashda tajribani uzatishning eng muhim vositalaridan biridir.
( namuna ) ma'lum bir kontekstda odatiy, juda keng tarqalgan muammoni hal qilish uchun shablondir, ya'ni. kutilgan yechimlarga ba'zi cheklovlar va ular uchun ma'lum bir talablar to'plami bilan .
Misol tariqasida ushbu vaziyatni ko'rib chiqing. Biz ko'plab modullardan iborat katta dasturni ishlab chiqdik. Shunday bo'ldiki, ularning deyarli barchasi alohida ajratilgan modulga tayanadi va ko'pincha uning operatsiyalaridan foydalanadi . Biroq, bir nuqtada, ushbu modulni ishlab chiquvchisi o'z interfeysidagi operatsiyalar nomlarini va parametrlar tartibini o'zgartirishga qaror qildi (ehtimol, uning ishlab chiqaruvchisi ushbu modul sotib olingan boshqa tashkilot bo'lishi mumkin va bunday o'zgarishlar unda paydo bo'lgan ko'plab jiddiy xatolarni tuzatgan keyingi versiyada). Tizimning boshqa modullarining kodini o'zgartirish juda qiyin, chunki ushbu modul operatsiyalariga qo'ng'iroqlar ko'p joylarda qo'llaniladi. Va agar siz bir nechta turli xil versiyalar bilan ishlashingiz kerak bo'lsa - har safar kodni o'zgartirmang!
Bunday vaziyatning yana bir misoli ba'zi operatsiyalar uchun testlar to'plamini ishlab chiqishdir. Men ushbu to'plam yordamida ushbu operatsiyalar tomonidan bajariladigan funktsiyalarning har qanday amalga oshirilishini sinab ko'rishni xohlayman. Agar funktsiyalar tez-tez sodir bo'lsa, masalan, ba'zi elementlarni saqlaydigan navbatni birgalikda amalga oshirsa , bu xususiyat juda foydali. Ammo har bir operatsiyalar to'plami o'z interfeysiga ega bo'lishi mumkin, bu uning uchun barcha testlarni qayta o'tkazishni juda mashaqqatli qiladi.
Agar ob'ektga yo'naltirilgan dasturlash tilida kerakli operatsiyalar to'plamini qandaydir sinfning interfeysi sifatida ko'rsatish mumkin bo'lsa, Loyihalashtirish namunasi bu vaziyatdan adekvat chiqishga yordam beradi. adapter ( adapter ) .

"Adapter" namunaining a'zo sinflarining tuzilishi

Taklif etilayotgan yechim quyidagicha. Mijoz deb ataladigan tizimimizning ishlashi uchun zarur bo'lgan operatsiyalar qandaydir sinf yoki interfeysga ( maqsad deb ataladi ) birlashtiriladi va tizim shunday yoziladiki, u ushbu turdagi ob'ekt va uning operatsiyalari bilan ishlaydi. Turli xil nomlar va parametrlar turlari bilan bir xil funktsiyalarni amalga oshirishni olganimizdan so'ng, biz adapterni aniqlaymiz - maqsad sinfni meros qilib oladigan (yoki mos keladigan interfeysni amalga oshiradigan) sinf, unda biz kerakli operatsiyalarni ortiqcha yuklaymiz, ularni mavjud bo'lganlar orqali ifodalaymiz. amalga oshirish. Shu bilan birga, har safar qo'shimcha ish hajmi juda kichik bo'ladi (agar, albatta, natijada amalga oshiriladigan dastur kerakli funktsiyalarni amalga oshirsa) va mijoz kodi o'zgarishsiz qoladi.


Loyihalashtirish namunasi tasavvur qilish yoki ixtiro qilish mumkin emas . Muayyan yechim namunasi, agar u bir xil masalani amaliyotda yechish uchun qayta-qayta foydalanilgan bo‘lsa, agar unga asoslangan yechimlar bir necha (kamida uchta) holatda, turli tizimlarda qo‘llanilgan bo‘lsa, loyiha namunalariga nomzod hisoblanishi mumkin.
Loyihalashtirish namunalari ko'pincha bir-biri bilan kuchli bog'liqdir, chunki ular tegishli muammolarni hal qiladilar. Shuning uchun ko'pincha o'zaro bog'liq, bir-birini qo'llab-quvvatlovchi namunalar to'plamlari namunalar tizimi sifatida birgalikda taqdim etiladi ( namuna tizim ) yoki namuna tili ( namuna til ), ular o'rtasida yuzaga keladigan munosabatlarni tavsiflaydi va bir nechta namunalarni birgalikda ishlatish foydali bo'lgan vaziyatlarni tavsiflaydi:
Yechish kerak bo'lgan vazifalar turiga ko'ra quyidagi turdagi namunalar ajratiladi.

  • Tahlil namunalari ( tahlil namunalar ).

Ular ma'lum bir fan sohasi tushunchalari o'rtasidagi murakkab munosabatlarni modellashtirish uchun tipik echimlardir. Ular odatda ushbu tushunchalar va ular o'rtasidagi munosabatlarning har qanday ob'ektga yo'naltirilgan til uchun mos bo'lgan sinflar va ularning munosabatlari nuqtai nazaridan ifodasidir. Bunday taqdimotlar yuqori sifatli model echimlarining muhim atributlariga ega - real hayotda yuzaga keladigan turli xil vaziyatlarni tushunarli tarzda namoyish qilish qobiliyati, modelga qo'yiladigan talablarni kichik o'zgartirishlar bilan modelga o'zgartirishlar kiritish zarurati yo'qligi. unga asoslangan dasturiy ta'minot va modellashtirilgan tushunchalarni tushunishda tabiiy o'zgarishlar tufayli yuzaga keladigan o'zgarishlarni amalga oshirish qulayligi. Xususan, kontseptsiya bilan bog'liq ma'lumotlarning kichik kengayishi, ko'pincha, faqat bitta model sinfining tuzilishidagi kichik o'zgarishlarga olib keladi.
Tahlil namunalari ularning ta'rifi nazarda tutilganidek, domenga xos bo'lishi mumkin, ammo turli sohalardagi kontseptsiyalarni modellashtirish uchun ham muvaffaqiyatli ishlatilishi mumkin.
Loyihalashtirish namunalari va idiomalardan farqli o'laroq , tahlil namunalari kontseptual modellashtirishda qo'llaniladi va bunday modelni unda ishtirok etuvchi sinflarning aniq kodi shaklida amalga oshirish imkoniyatini bevosita aks ettirmaydi. Misol uchun, amalga oshirishda kontseptual model sinfining X maydoni maydon bo'lib qolishi mumkin yoki u getX ( ) va setX () juftlik usullariga yoki bitta getX () usuliga (ya'ni, xususiyatga, mulk , C # va Java jihatidan ).
  1   2   3   4   5   6   7   8   9   ...   13




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin