Ma’ruza: clr sohasida kodni bajarish modeli Reja


Boshqaruvchi modullarni birlashtirish


Download 33.42 Kb.
bet2/4
Sana04.02.2023
Hajmi33.42 Kb.
#1161390
1   2   3   4
Bog'liq
1.1-ma\'ruza

2. Boshqaruvchi modullarni birlashtirish
Haqiqatan ham, CLR da ish vaqtida ishlab chiquvchi manba kodini qaysi
dasturlash tilida yozganingizdan qatiy nazar siz ma'lum bir
muammoni hal qilishni osonlashtiradigan har qanday dasturlash tilini tanlashingiz
mumkin. Siz foydalanayotgan til kompilyatori CLR ni qo'llab-quvvatlasa, har qanday dasturlash tilida dasturiy ta'minot ishlab chiqishingiz mumkin.
Kompilyatorlar sintaksisni tekshirish va "to'g'ri kod" ni tahlil qilish vositasi hisoblanadi. Kompilyatorlar manba kodini tekshiradi, yozilgan hamma narsa
mantiqiy ekanligiga ishonch hosil qiladi va keyin ushbu muammoning yechimini
tavsiflovchi kodni yaratadi. Turli xil dasturlash tillari turli xil sintaksis yordamida
dasturiy ta'minotni ishlab chiqishga imkon beradi.
Kompilyator — murakkab dasturdir, dasturlash tilida yozilgan barcha kodlarni birdaniga ob'yektli kodga o'zgartirib beradi. Ob'yektli kodni yana ikkilik kod yoki mashina kodi deb ham atashadi. Keyinchalik bu ob'yektli kod kompyuterda to'g'ridan to'g'ri ishlatilishi mumkin bo'ladi. Dasturlash tillarida yozilgan kodlar bu ob'yektli kodga ta'sir qilmaydi. Ob'yektli kodni o'zgartirish uchun esa, qaytadan kompilyatsiya qilinib ob'yektli kod o'zgartiriladi. Natija bajariladigan, .exe ko'rinishidagi fayl bo'ladi. Bu faylni bloknotda ochib o'zgartirib bo'lmaydi, ya'ni bu fayl tayyor dastur hisoblanadi. Kompilyatorning kamchiligi sifatida, dasturlash tilidagi ma'lum bir qatorlani alohida tekshirish imkoniyati yo'qligidir, uning uchun ob'yektli kod yaratib, uni ishga tushurish lozim bo'ladi, ortiqcha ish bo'lib qoladi. Undan tashqari ba'zi kompilyatorlar bir dasturlash tilidan, ikkinchisiga ham o'zgartirib berishi mumkin. Kompilyator ishlatadigan dasturlash tillariga C, C++, Delphi larni misol qilib keltirish mumkin.
Interpretator — ham dastur ham jihoz ko'rinishida bo'lishi mumkin. Bu ham kompyuter tiliga o'zgartirib berish vazifasini bajaradi, faqatgina ishlash texnologiyasi boshqacharoqdir. Interpretator, dasturlash tilida yozilgan kodlarni ketma — ket o'qib, mashina tiliga o'zgartirib boradi. Xatolik paydo bo'lsa, o'sha zahoti dasturchiga ma'lum qiladi. Bu ketma — ketlikda o'zgartirish, kompilyatorga nisbatan sekinroq amalga oshiriladi(ba'zi holllarda kompilyatorga qaraganda 50 barobar sekin). Dastur natijasini ko'rish uchun, har safar kodlarni interpretatordan o'tkazish kerak bo'ladi(kompilyatorga o'xshab bir marotaba ob'yekt kod yaratib qo'yib, keyin har doim ishlatishning iloji yo'q). Bundan ko'rinib turibdiki, interpretator asosan saytlar, umumiy holda veb dasturlashda ishlatiladi. Biror saytning yuklanishi jarayni uzunligi, interpretatorda o'zgartirish amalga oshirilishi bilan tushuntirilishi mumkin. Interpretator ishlatadigan dasturlash tillariga PHP, JavaScript, JScript, Basic,… misol bo'la oladi.

.NET kodni ishga tushiradigan va ishlab chiqish jarayonini osonlashtiradigan xizmatlarni taqdim etadigan umumiy tilning ish vaqti deb ataladigan ish vaqti muhitini taqdim etadi.


Kompilyatorlar va asboblar umumiy tilning ish vaqti funksiyalarini ochib beradi va sizga ushbu boshqariladigan ijro muhitidan foyda ko'radigan kod yozish imkonini beradi. Ish vaqtini maqsad qilgan til kompilyatori bilan ishlab chiqqan kod boshqariladigan kod deb ataladi. Boshqariladigan kod tillararo integratsiya, tillararo istisnolardan foydalanish, kengaytirilgan xavfsizlik, versiyalar yaratish va joylashtirishni qo'llab-quvvatlash, komponentlar o'zaro ta'sirining soddalashtirilgan modeli, disk raskadrovka va profilni yaratish xizmatlari kabi xususiyatlardan foyda oladi.
Eslatma
Kompilyatorlar va asboblar umumiy tilning ish vaqti iste'mol qilishi mumkin bo'lgan natijalarni ishlab chiqarishga qodir, chunki tip tizimi, metama'lumotlar formati va ish vaqti muhiti (virtual ijro tizimi) barchasi umumiy standart, ECMA Common Language Infratuzilmasi bilan belgilanadi.
Boshqariladigan kodga xizmatlarni taqdim etish uchun ish vaqtini yoqish uchun til kompilyatorlari kodingizdagi turlarni, a'zolarni va havolalarni tavsiflovchi metama'lumotlarni chiqarishi kerak. Metadata kod bilan saqlanadi; har bir yuklanadigan umumiy til ish vaqti portativ bajariladigan (PE) fayli metamaʼlumotlarni oʻz ichiga oladi. Ishlash vaqti sinflarni aniqlash va yuklash, xotiradagi misollarni joylashtirish, usul chaqiruvlarini hal qilish, mahalliy kod yaratish, xavfsizlikni ta'minlash va ish vaqti kontekst chegaralarini o'rnatish uchun metama'lumotlardan foydalanadi.
Ish vaqti ob'ekt tartibini avtomatik ravishda boshqaradi va ob'ektlarga havolalarni boshqaradi, ular endi foydalanilmayotganda ularni ozod qiladi. Yashash muddati shu tarzda boshqariladigan ob'ektlar boshqariladigan ma'lumotlar deb ataladi. Chiqindilarni yig'ish xotiraning oqishi va boshqa keng tarqalgan dasturlash xatolarini yo'q qiladi. Agar kodingiz boshqarilsa, siz .NET ilovangizda boshqariladigan maʼlumotlar, boshqarilmaydigan maʼlumotlar yoki boshqariladigan va boshqarilmaydigan maʼlumotlardan foydalanishingiz mumkin. Til kompilyatorlari ibtidoiy tiplar kabi o'z turlarini taqdim etganligi sababli, ma'lumotlaringiz boshqarilayotganligini har doim ham bilmasligingiz mumkin (yoki bilishingiz kerak).
Umumiy tilning ishlash vaqti ob'ektlari tillar bo'ylab o'zaro ta'sir qiluvchi komponentlar va ilovalarni loyihalashni osonlashtiradi. Turli tillarda yozilgan ob'ektlar bir-biri bilan muloqot qilishi va ularning xatti-harakatlari bir-biriga mahkam bog'lanishi mumkin. Misol uchun, siz sinfni belgilashingiz va undan so'ng asl sinfingizdan sinf olish yoki asl sinfdagi usulni chaqirish uchun boshqa tildan foydalanishingiz mumkin. Bundan tashqari, sinfning namunasini boshqa tilda yozilgan sinf uslubiga o'tkazishingiz mumkin. Bu tillararo integratsiya mumkin, chunki til kompilyatorlari va ish vaqtini maqsad qilgan asboblar ish vaqti bilan aniqlangan umumiy turdagi tizimdan foydalanadi va ular yangi turlarni aniqlash, shuningdek yaratish, foydalanish, davom ettirish va bog'lash uchun ish vaqti qoidalariga amal qiladi. turlari.
O'zlarining metama'lumotlarining bir qismi sifatida barcha boshqariladigan komponentlar o'zlari qurgan komponentlar va resurslar haqida ma'lumotga ega. Ishlash vaqti ushbu ma'lumotlardan komponentingiz yoki ilovangiz kerakli bo'lgan barcha narsalarning belgilangan versiyalariga ega bo'lishini ta'minlash uchun foydalanadi, bu esa ba'zi bir bajarilmagan qaramlik tufayli kodingizni buzish ehtimolini kamaytiradi. Ro'yxatga olish ma'lumotlari va davlat ma'lumotlari endi ro'yxatga olish kitobida saqlanmaydi, bu erda ularni yaratish va saqlash qiyin bo'lishi mumkin. Buning o'rniga, siz belgilagan turlar (va ularning bog'liqliklari) haqidagi ma'lumotlar kod bilan metadata sifatida saqlanadi, bu esa komponentlarni takrorlash va o'chirish vazifalarini ancha murakkablashtiradi.
Til kompilyatorlari va asboblari ish vaqtining funksionalligini ishlab chiquvchilar uchun foydali va intuitiv bo'lishi uchun ochib beradi. Bu shuni anglatadiki, ish vaqtining ba'zi xususiyatlari bir muhitda boshqasiga qaraganda ko'proq sezilarli bo'lishi mumkin. Ish vaqtini qanday boshdan kechirishingiz qaysi til kompilyatorlari yoki vositalaridan foydalanganingizga bog'liq. Misol uchun, agar siz Visual Basic dasturchisi bo'lsangiz, umumiy til ish vaqti bilan Visual Basic tili avvalgidan ko'ra ko'proq ob'ektga yo'naltirilgan xususiyatlarga ega ekanligini ko'rishingiz mumkin. Ish vaqti quyidagi afzalliklarni beradi:

  • Ishlash yaxshilanishi.

  • Boshqa tillarda ishlab chiqilgan komponentlardan osongina foydalanish qobiliyati.

  • Sinf kutubxonasi tomonidan taqdim etilgan kengaytiriladigan turlar.

  • Ob'ektga yo'naltirilgan dasturlash uchun meros, interfeyslar va ortiqcha yuklash kabi til xususiyatlari.

  • Ko'p oqimli, kengaytiriladigan ilovalarni yaratishga imkon beruvchi aniq bepul ish zarralarini qo'llab-quvvatlash.

  • Strukturaviy istisnolardan foydalanishni qo'llab-quvvatlash.

  • Maxsus atributlarni qo'llab-quvvatlash.

  • Axlat yig'ish.

  • Yuqori turdagi xavfsizlik va xavfsizlik uchun funktsiya ko'rsatkichlari o'rniga delegatlardan foydalanish.




Download 33.42 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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