Axborot texnologiyalari texnikumi



Download 7,87 Mb.
bet58/78
Sana26.08.2022
Hajmi7,87 Mb.
#847735
1   ...   54   55   56   57   58   59   60   61   ...   78
Bog'liq
Algortmlash va dasturlash asoslari UMT восстановлен

Inkapsulyatsiyaning ta’rifi
Inkapsulyatsiya(ing. encapsulation, lot. capsula soʻzidan) — informatikada maʼlumotlar va ular bilan ishlaydigan usullarni bir komponentda joylashtirish. Ko'pgina dasturlash tillarini (C++, C#, Java va boshqalar) amalga oshirishda komponentning turli qismlariga kirishni farqlash imkonini beruvchi yashirish mexanizmi mavjud.
Inkapsulyatsiya ko'pincha ob'ektga yo'naltirilgan dasturlash (OOP) uchun eksklyuziv tushuncha sifatida qaraladi, lekin aslida u boshqalarda keng tarqalgan (qarang: yozuv subtiplari va yozuvlar va variant polimorfizmi). OOPda inkapsulyatsiya ma'lumotlarni abstraktsiyalash printsipi bilan chambarchas bog'liq (mavhum ma'lumotlar turlari bilan adashtirmaslik kerak, ularning amalga oshirilishi inkapsulyatsiyani ta'minlaydi, lekin boshqa xarakterga ega). Bu, xususan, turli manbalarda terminologiyadagi farqlarni keltirib chiqaradi. C++ yoki Java hamjamiyatida yashirmasdan inkapsulyatsiya odatda past deb hisoblanadi. Biroq, ba'zi tillar (masalan, Smalltalk, Python) inkapsulyatsiyani amalga oshiradi, ammo printsipial jihatdan yashirish imkoniyatini ta'minlamaydi. Boshqalar (Standard ML, OCaml) bu tushunchalarni qat'iy ravishda ortogonal sifatida ajratib turadi va ularni semantik jihatdan boshqacha shaklda taqdim etadi (ML moduli tilida yashirishga qarang).
Voqealarga asoslangan dasturlash (keyingi o'rinlarda SOP deb yuritiladi) dasturlash paradigmasi bo'lib, unda dasturning bajarilishi hodisalar - foydalanuvchi harakatlari (klaviatura, sichqoncha, sensorli ekran), boshqa dasturlar va oqimlardan olingan xabarlar, operatsion tizim hodisalari (masalan, tarmoq paketining kelishi).

SOP, shuningdek, dasturning asosiy tsikli kodda (odatda dasturning asosiy funktsiyasida) aniq identifikatsiya qilingan kompyuter dasturini qurish usuli sifatida belgilanishi mumkin, uning tanasi ikki qismdan iborat: hodisalarni olish va hodisani qayta ishlash.


Qoidaga ko'ra, haqiqiy vazifalarda voqea ishlovchisini uzoq vaqt davomida ishga tushirish mumkin emas, chunki bu holda dastur boshqa hodisalarga javob bera olmaydi. Shu munosabat bilan hodisalarga asoslangan dasturlarni yozishda ko'pincha avtomatik dasturlash qo'llaniladi.


Qo'llash doirasi. Voqealarga asoslangan dasturlash odatda uchta holatda qo'llaniladi:





  1. Foydalanuvchi interfeyslarini yaratishda (shu jumladan grafik);

  2. Server ilovalarini yaratishda, agar u yoki bu sabablarga ko'ra, xizmat

ko'rsatish jarayonlarini yaratish istalmagan bo'lsa;

  1. Ko'p ob'ektlar boshqariladigan o'yinlarni dasturlashda.

Server ilovalarida dastur. Voqealarga asoslangan dasturlash server ilovalarida bir vaqtning o'zida 10 000 yoki undan ko'p ulanishlarni kengaytirish muammosini hal qilish uchun ishlatiladi.


"Har bir ulanish uchun bitta ip" modeliga muvofiq qurilgan serverlarda miqyoslash muammolari quyidagi sabablarga ko'ra yuzaga keladi:


Bitta vazifani (vazifa holati segmenti, stek) tavsiflash uchun zarur bo'lgan operatsion tizimning ma'lumotlar tuzilmalari uchun qo'shimcha xarajatlar juda yuqori;


Kontekstni o'zgartirish uchun yuk juda yuqori. Serverlarning oqimli modelidan voz kechishning falsafiy asosi Alan Koksning quyidagi bayonoti bo'lishi mumkin: “Kompyuter - bu davlat mashinasi. Oqimli dasturlash chekli holat mashinalarini qanday dasturlashni bilmaganlar uchun zarurdir”.

Voqealarga yo'naltirilgan dasturlashda server ilovasi bir vaqtning o'zida ko'plab identifikatorlardan hodisalarni qabul qiluvchi tizim chaqiruvida amalga oshiriladi (multiplekslash). Voqealarni boshqarish faqat bloklanmaydigan kiritish-chiqarish operatsiyalaridan foydalanadi, shuning uchun hech qanday tutqich boshqa tutqichlardagi voqealarni qayta ishlashga xalaqit bermaydi.


Multiplekslash. Multipleks ulanishlar uchun quyidagi operatsion tizim vositalaridan foydalanish mumkin:





  • select (ko'pchilik UNIX tizimlari). Deskriptorlar ro'yxati bitmap sifatida ko'rsatilganligi sababli yaxshi masshtablashmaydi;

  • poll  va  epoll (Linux)

  • Kqueue (FreeBSD);

  • /dev/poll (Solaris);

  • IO completion port  porti (Windows);

  • POSIX AIO hozirda faqat disk kiritish-chiqarish;

  • Disk kiritish/chiqarish operatsiyalari uchun io submit va eventfd.

Ish stoli ilovalarida dastur. Zamonaviy dasturlash tillarida hodisalar va hodisalarni ishlovchilar grafik foydalanuvchi interfeysini amalga oshirishda markaziy o'rinni egallaydi. Misol uchun, dasturning sichqoncha hodisalari bilan o'zaro ta'sirini ko'rib chiqing. Sichqonchaning o'ng tugmachasini bosish operatsion tizim ichida ma'lum bir protsedurani bajaradigan tizim uzilishini ishga tushiradi. Ushbu protsedura sichqoncha kursori ostidagi oynani qidiradi. Agar oyna topilsa, bu hodisa oynaning xabarlar navbatiga yuboriladi. Bundan tashqari, oyna turiga qarab, qo'shimcha hodisalar yaratilishi mumkin. Misol uchun, agar oyna tugma bo'lsa (Windowsda barcha grafik elementlar oynadir), u holda tugmani bosish hodisasi qo'shimcha ravishda hosil bo'ladi. Oxirgi hodisaning farqi shundaki, u mavhumroq, ya'ni u kursorning koordinatalarini o'z ichiga olmaydi, shunchaki tugma bosilganligini aytadi.


Hodisa ishlov beruvchisi shunday ko'rinishi mumkin (misol sifatida C# dan foydalanish):





Download 7,87 Mb.

Do'stlaringiz bilan baham:
1   ...   54   55   56   57   58   59   60   61   ...   78




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish