Dasturlash paradigmasi — bu kompyuter dasturlarini yozish uslubini aniqlovchi fikr yoki tushunchalar tizimi, shuningdek dasturchinig fikr yuritish obrazi.
Paradigma “dasturchi yozishi kerak bo’lgan dasturlash uslubi” kabi aniqlanadi. Bryus Shrayver (Bruce Shriver) paradigmani “muammo yechimiga model va yondashuv” kabi aniqlaydi, Linda Friedman — “dasturlash muammosi yechimiga yondashuv” kabi aniqlaydi. Pamela Zave paradigmani “kompyuter sistemalari haqida fikrlash usuli” kabi aniqlashni beradi.
Modullar va modulli dasturlash
Real murakkab dasturlash ta’minoti o’zida monolit dasturlarni emas. Balki dasturlash tizimlarini namoyon qiladi. Dasturlash tizimi- bu gi’shtlardan—tizim komponentlaridan quriluvchi konstruksiyadir. Bunday komponentlarni qurish metodikasi har xi bo’lishi mumkin. Shu kabi metodlardan biri, modul dasturlash deb nomlangan yondashuvga asoslangan.
Modullardan quriladigan dasturlash tizimida—modul sistemada—har bir modul umumiy konstruksiyaning g’ishtchasi sifatida, formal bo’lmagan holda o’zining belgilanishi bilan, formal holda esa o’zining interfeysi bilan xarakterlanadi. Modul belgisini qoida bo’yicha, modul tizim uchun modul bo’lib realizatsiya qilinadigan funksiyalarni formal bo’lmagan holda, tabiiy tillarida yoziladi псевдоестественном. Modul interfeysi modul bo’lib realizatsiya qilinadigan va bu moduldan tashqari modul tizimni boshqa modullarida ham qo’llaniladigan obyektlar spetsifikatsiyasida izga tushadi. Modul eksporti bu—umumiy modul tizim uchun modul berilganlari namoyish bo’luvchidir, import esa- modulni modul tizimlarni boshqa modullaridan talab qilinayotgan narsasidir. Modul eksportida eksportirlanadigan obyektlar kiritiladi. (turlar, o’zgarmaslar, o’zgaruvchi va dasturostilar).
Dasturiy tizim uzoq vaqt va xodimlar kollektivi bilan yaratilishi mumkin, shuning uchun modul shunday tizimni komponentasi kabi qayta ishlashni erkinligi va nazorati talabini qoniqtirishi kerak. modulni interfeysi va belgilari fiksirlangandan so’ng, uning realizatsiyasi boshqa modullar realizatsiyasiga halaqit qilmasligi kerak. modul xatoligi ham boshqa modullar xatoligi bilan shartlanmagan bo’lishi kerak—xatolik vaqtida, modul o’zini belgisini to’g’ri realizatsiya qilayotganiga va o’zining obyektlarini interfeys bilan mos ravishda eksportlayotganiga ishonch hosil qilish kerak, importga kelsak, u holda xatolik vaqtida importlanayotgan obyektlar xossalar interfeysida fiksirlanganlarni qoniqtiruvchi oddiy psevdoaylana yaratish mumkin. Modul modul sistemaning qurilayotgan elementi sifatida, uni turli hil modul tizimlarda foydalana olish mumkin bo’lishi kerak, faqatgina uni belgisi va interfeysi ushbu modul tizimda uni qo’llanilishiga mos bo’lsa bas. Eksportlanayotgan obyekt realizatsiya uchun kerak bo’lgan lokal obyektlarga ham ega bo’lishi mumkinligidan—ular boshqa modullardan yashirin va ularda qo’llanila olmaydi.
Foydalanuvchi modullarini yozish va ularning obyektlarini dasturlarda qo’llash quyidagi sabablarga ko’ra effektiv dasturlashni usullaridan biri hisoblanadi.
Birinchidan, modulda ba’zi “predmetli” sohani bazaviy tushunchalarini olib o’tuvchisi hisoblangan obyektlar aniqlanadi, va shu modul bu predmetli sohaga kontekst beradi. Shuning uchun bu saohada ishlab chiqishni turli algoritmlarini bajaruvchi dasturlar, tayyorlardan va muhimi bazaviy obyektlarni bir xil aniqlanishlaridan foydalanishlari mumkin. Demak, masalan Так, например, в системном модуле Graph tizimli modulida, bir qancha o'nlab elementar grafik amallarni realizatsiya qiluvchi grafik funksiyalar va jarayonlar va bir qancha o’nlab xatolarni, rang va chiziq ko’rinishi va hk kodini bildiruvchi o’zgarmaslar aniqlandi.
Ikkinchidan, modullar ham, dasturlarda qatnashuvchilar ham bog’liq bo’lmagan ravishda kompilyatsiya qilinadi. (modul u dasturda qo’llanilishidan avval kompilyatsiya qilingan bo’lishi kerak). ushbu kompiliyatsiya yordamida katta dasturlar sezilarli qisqaradi, muhimi ularni ko’p marta kompiliyatsiya qilishda xatoliklarda.
Modulning uchinchi asosiy xossasi, ular eksportlayotgan obyektlarni realizatsiyasi va namoyishini berkitadi va “inkapsulyatsiya” qiladi, shunday ekan ularning modulda bo’lishi mumkin bo’lgan o’zgarishi, foydalanuvchi dasturini hech qanday qayta ishlanishini talab qilmaydi.
Barcha modullar, ular tomonidan aniqlanadigan o’zgarmaslar, o’zgaruvchilar, turlar va dasturostilar uchun ularni belgilarini tushunish va esda saqlashni yengillashtiradigan mnemonik nomlarni qo’llaydi.
Do'stlaringiz bilan baham: |