6-ma’ruza. Komponent (tarkibiy qismli) programmalash. Komponetli


Ob'ektga yo'naltirilgan dasturlashdan farqlar



Download 15,59 Kb.
bet3/3
Sana07.07.2022
Hajmi15,59 Kb.
#754102
1   2   3
Bog'liq
6-ma\'ruza Komponent (tarkibiy qismli) dasturlash

Ob'ektga yo'naltirilgan dasturlashdan farqlar. Dasturchi nuqtai nazaridan, komponentlarga yo'naltirilgan dasturlash qoidalariga rioya qilgan holda, hamma narsa ob'ekt emas. Qat'iy aytganda, bu haqiqatan ham shunday. Ob'ekt tushunchasi mantiqdan import qilinadi, bu yerda ob'ektlarga qo'shimcha ravishda sub'ektlar ham mavjud. Ularning orasidagi farq, ma'lumki, sub'ektlar ob'ektlarga ta'sir qilishidir. Ob'ektga yo'naltirilgan dasturlashda (OYD) mavzuni shakllantirishni qaerdan topish mumkin? Ya'ni, OYDda sub'ektlarning toifalari dastlab noto'g'ri aniqlangan, bu OSTga bunday abstraksiyalarni "faol ob'ekt" sifatida kiritishni muqarrar qiladi (aslida bu ob'ekt, garchi mavzu nafaqat ob'ektdan kelib chiqmagan, balki umuman mustaqil bo'lsa ham). mantiqdagi mavhumlik).

Ushbu paradigmaning muhim ajralib turuvchi xususiyati sifatida OYD tarafdorlari meros olish imkoniyatiga ishora qiladilar - merosga asoslangan sub'ektlardan biri to'liq yoki qisman boshqa shaxsning xatti-harakatini va holatini takrorlaganida, ikki shaxsning o'zaro munosabati. Darhaqiqat, bunday xatti-harakatlar ko'pincha haqiqiy dunyoda uchraydi va asossiz emas. Ammo, shunga qaramay, sub'ektlarning butun ierarxiyasini bitta rivojlanish daraxtiga qisqartirish bo'yicha mavjud urinishlar aslida juda oqlangan emas va asosiy ob'ektni o'zgartirish avtomatik ravishda barcha bog'liq bo'lgan sub'ektlarni o'zgartiradi. Va bu har doim ham qulay emas. Aniqroq, hatto, ko'pincha bu dasturiy ta'minot loyihasi uchun halokat bo'lishi mumkin. Bundan tashqari, juda ko'p sonli ob'ektlar mavjud bo'lib, ular uchun baza turiga bog'lash mutlaqo asossizdir. Masalan, Java kabi OYD dasturlash tili dasturchini barcha ob'yektlarni o'rnatilganlaridan qurishga majbur qiladi. Bunday qat'iy cheklov tufayli ushbu qoidani buzish qobiliyatini joriy etish kerak edi. Albatta, bu mumkin bo'lgan qoidabuzarliklarga olib keladi. Umuman olganda, OYD dasturning dekompozitsiyasini sezilarli darajada osonlashtiradi, lekin shu bilan birga dasturni bajarish mantig'ini tushunishning kalitida o'z qiyinchiliklarini keltirib chiqaradi. Komponentga yo'naltirilgan dasturlash dasturchini biron bir ob'ektdan foydalanishga majbur qilmaydi. Dasturchi o'z kodini buzolmasligi uchun til allaqachon etarlicha qattiq. Korxona tushunchasi asosan modul tushunchasi bilan birlashtirilgan va qoida tariqasida mantiqiy ob'ekt bitta modulda joylashgan bo'lib, bu dastur mantig'ini to'liq boshqarish imkonini beradi. Ammo, agar aniq ehtiyoj mavjud bo'lsa, mantiqiy ob'ektni ko'plab modullar o'rtasida taqsimlash mumkin (masalan, ko'plab boshqa kichik korxonalar bitta tashkilotga birlashtirilganida). Shu bilan birga, KYD, OYDdan farqli o'laroq, mo'rt bazaviy sinf muammosini oqlangan va tabiiy ravishda hal qiladi - ko'p merosxo'rlik shunchaki kerak emas. Komponentga yo'naltirilgan dasturlashning o'ziga xos xususiyatlari


KYD, qandaydir tarzda, kengayadi va ba'zi jihatdan boshqa dasturiy idiomlarni cheklaydi. Shunday qilib, funktsional uslub qo'llab-quvvatlanadi, ammo uchinchi tomon ta'siri cheklangan. KYDda sinf degani yo'q, lekin shu bilan birga, ma'lumotlar tuzilmalari va modul ichida ularga biriktirilgan protseduralar OYDdagi sinf tushunchasini to'liq tasvirlaydi. Etarlicha sodda manba tokenlari sizga yaxshi muvofiqlashtirilgan, kuchli yozilgan va kengaytirilishi mumkin bo'lgan (manba kodi orqali ham, mashinada kompilyatsiya qilingan) kodni yaratishga imkon beradi. KYD birinchi navbatda barqaror, dinamik muhitga qaratilgan. Shunday qilib, masalan, Linux OS-da vaziyat yuzaga keladi, ba'zi hollarda maxsus mexanizmlardan foydalangan holda to'g'ridan-to'g'ri ishlaydigan yadroga tuzatishlar kiritish mumkin, Paskal komponentasida - bitta ishchi modulni dinamik ravishda boshqasiga almashtirish qiyin emas (o'zaro ishlash mavjud bo'lgan holatlardan tashqari). Paskal komponenti boshqarishi mumkin bo'lgan manbalar, aniq sabablarga ko'ra, qila olmaydi). Shuni ham ta'kidlash kerakki, kompilyatsiya qilingan tillarda axlatni avtomatik yig'ish bu oddiy narsa emas. Dinamik tizimlarda ortiqcha narsalarni yig'uvchilarga ehtiyoj yanada yuqori. Odatda, dasturchining o'zi xotira bilan past darajadagi operatsiyalarni boshqarishi kerak. Va bu erda mavhumlik printsipi buziladi. KYD yordamida siz axlat yig'ish avtomatik va mutlaqo aniq amalga oshiriladigan tizimni qurishingiz mumkin. Bunga bir necha usul bilan erishish mumkin va ulardan eng qulayi bu ma'lumotlar tuzilmasiga bog'lanishlarni hisoblashdir. Agar biron-bir strukturani qayta ishlaydigan modul xotiradan yuklansa - aniqki, hech kim bu ma'lumotlarni qayta ishlay olmaydi).
Download 15,59 Kb.

Do'stlaringiz bilan baham:
1   2   3




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