Microsoft .NET platformasi (va unga bog'liq C# dasturlash tili) ilk bor 2002 yil ommaga tanishtirildi va tez orada dasturiy ta'minotlarni yaratish uchun asosiy dasturlash muhitlaridan biri bo'lishga ham ulgurdi.
Ushbu kitobni kirish qismida aytib o'tilganidek, kitob yozilishida ikkita asosiy maqsadni oldinga surildi. Birinchisi - kitobxonlarga C# tilining sintaksisi va semantikasini to'liq va batafsil tushuntirish bo'lsa, ikkinchisi - .NET ning ko'psonli API-interfeyslarini, shuningdek ADO.NET va Entity Framework (EF) orqali ma'lumotlar bazasiga murojaat qilish, LINQ, WPF, WCF, WF texnologiyalari to'plami va ASP.NET dan foydalangan holda web-saytlar yaratish kabi imkoniyatlardan foydalanishni yoritishdir. Har qanday sayohat ilk qadamlardan boshlanadi deganlaridek, biz ham ushbu qadamlarni mazkur bo'limda
...Ещё2) ---------
1 Bo'lim
.NET haqida asosiy tushunchalar
Microsoft .NET platformasi (va unga bog'liq C# dasturlash tili) ilk bor 2002 yil ommaga tanishtirildi va tez orada dasturiy ta'minotlarni yaratish uchun asosiy dasturlash muhitlaridan biri bo'lishga ham ulgurdi.
Ushbu kitobni kirish qismida aytib o'tilganidek, kitob yozilishida ikkita asosiy maqsadni oldinga surildi. Birinchisi - kitobxonlarga C# tilining sintaksisi va semantikasini to'liq va batafsil tushuntirish bo'lsa, ikkinchisi - .NET ning ko'psonli API-interfeyslarini, shuningdek ADO.NET va Entity Framework (EF) orqali ma'lumotlar bazasiga murojaat qilish, LINQ, WPF, WCF, WF texnologiyalari to'plami va ASP.NET dan foydalangan holda web-saytlar yaratish kabi imkoniyatlardan foydalanishni yoritishdir. Har qanday sayohat ilk qadamlardan boshlanadi deganlaridek, biz ham ushbu qadamlarni mazkur bo'limda qo'yamiz.
Joriy bo'limning maqsadi kitobning barcha qolgan materiallarini o'zlashtirish uchun konseptual asosini tuzishni o'z ichiga oladi. Bu yerda .NET bilan bog'liq yig'ish kabi, umumiy oraliq tili (Common Intermediate Language — CIL) va tezkor kompilyatsiya (ust-In-Time Compilation — JIT) mavzulari ko'rib chiqiladi. C# dasturlash tilining kalit so'zlarining boshlang'ich umumiy ma'lumotiga qo'shimcha ravishda, siz turli .NET komponentlari o'rtasidagi o'zaro munosabatlarni bilib olasiz, bular jumlasiga bajaruvchi umumtil muhiti (Common Language Runtime — CLR), tiplar umuiy tizimi (Common Type System — CTS) va umumtil spetsifikatsiyasi (Common Language Specification — CLS) kiradi. Umumiy Oraliq Til katta bilan, yana JIT ni tezkor kompilyasiya deyish to'g'ri kelmaydi.
Undan tashqari ushbu bo'limda .NET 4.5 dagi bazali klasslari kutubxonalarining (base class library - BCL) funksionalliklar haqida ham ma'lumotlar berilgan. Bu yerda .NET platformasining til va platformaga bog'liq bo'lmagan tomonlari (.NET ni qo'llash sohasi faqatgina Windows operasion tizimi bilan cheklanmagan) va Windows 8 muhitiga mo'ljallangan dasturlar tuzishda .NET platformasining roli bilan ham tanishasiz. Tushunarli bo'lsa ushbu mavzulardan kop'laru kitobning qolgan qismida to'liqroq yoritiladi.
Microsoft kompaniyasi C# tili va .NET platformasini ommaga taqdim etgunga qadar, Windows oilasi tizimi uchun dastur yaratuvchi dasturlash tili mutaxassislari, COM dasturlash modelini tez-tez qo'llashar edi. COM texnologiyasi (Component Object Model — komponentli obyektlar modeli) kutubxonalar qurish imkonin berar edi, ularni turli dasturlash tillarida ishlatish mumkin edi. Masalan, C++ dasturchisi, undan Visual Basic dasturchisi foydalanishi bo'lgan, COM kutubxonasini yarata olardi. Tilga bog'liq bo'lmagan COM tabiati, shubhasiz qulay edi.
COM murakkabliklari ve cheklovlariga qaramay, bu arxitekturani qullash son sanoqsiz dasturlarni muvaffaqiyatli yaratilishiga olib keldi. Shunga qaramay, hozirgi vaqtda ko'pgina Windows operatsion tizimiga mo'ljallangan dasturlar COM modelini qo'llamagan holda tuzilmoqda. Buning o'rniga (ya’ni COM o’rniga), stol kompyuterlari uchun dasturlar, veb saytlar, operatsion tizim xizmatlari (slujbalar) va ko’p karra ishlatiluvchi … kutubxonalar av biznes muammolar .Net platformasi yordamida qurilmoqda.
Avval aytilganider, C# tili va .NET platformasi birinchi bo'lib 2002 yilda taqdim etilgan va uni yaratilishidan maqsad COM ga nisbatan yanada kuchli, egiluvchan, qayishqoq, tushunarli dasturlash modelini yaratish edi. Kitobning qolgan materiallarida ko;rishsingiz mumkin bo'lgani - .NET Framework - Windows operatsion tizimidagi dastur yaratish uchun mo'ljallangan dasturiy platformadir, shuningdek Microsoft ga taalluqli bo'lmagan ko'plab operatsion tizimlar uchun hamdir, bular sirasiga Mac OC X va turli Unix va Linux distribyutivalari kiradi. Boshlanishiga quyida .Net ga taalluqli ba'zi kerakli ma'lumotlar berilgan:
* Mavjud kod bilan o'zaro bog'lanish imkoniyati. Bu imkoniyat, shubhasiz, judayam foydali hisoblanadi, sababi mavjud ikkili COM komponentlarini yangiroq .NET dastur komponentlai yoki aksi bilan turlicha bi
...Ещё
.NET paltformasinig ba'zi abzal tomonlari
Avval aytilganider, C# tili va .NET platformasi birinchi bo'lib 2002 yilda taqdim etilgan va uni yaratilishidan maqsad COM ga nisbatan yanada kuchli, egiluvchan, qayishqoq, tushunarli dasturlash modelini yaratish edi. Kitobning qolgan materiallarida ko;rishsingiz mumkin bo'lgani - .NET Framework - Windows operatsion tizimidagi dastur yaratish uchun mo'ljallangan dasturiy platformadir, shuningdek Microsoft ga taalluqli bo'lmagan ko'plab operatsion tizimlar uchun hamdir, bular sirasiga Mac OC X va turli Unix va Linux distribyutivalari kiradi. Boshlanishiga quyida .Net ga taalluqli ba'zi kerakli ma'lumotlar berilgan:
* Mavjud kod bilan o'zaro bog'lanish imkoniyati. Bu imkoniyat, shubhasiz, judayam foydali hisoblanadi, sababi mavjud ikkili COM komponentlarini yangiroq .NET dastur komponentlai yoki aksi bilan turlicha birlashtirish (kompinatsiyalashtirish) imkonini beradi (ya'ni ular bilan o'zaro bo'glanish, o'zgartirish imkonini beradi). .NET 4.0 chiqish bilan (16 bo'limda ko'rib chiqiladigan) dynamiv kalit so'zi orqali ularga bog'lanish, o'zaro munosabat yana soddalashdi.
* Ko’plab dasturlash tillari bilan ishlay olishi qobiliyati. .NET dasturlarini dasturlash tilini xohlagan turidagi dasturlash tili;arini ishlatgan holda tuza olish mumkin (C#, Visual Basic, F# va h.k.).* .NET da ishlovchi barcha tillar uchun bo’lgan, umumiy bajaruvchi mexanizm.Ushbu mexanizmning aspektlaridan biri, har bir.NET tilida ishlovchi, tushunishga qodir, yaxshi ma’lum bo’lgan nabor tiplari borligi. (Shu yerini o’zim ham tarjimani tushunmadim, so’zma-ao’z tarjima. Iltimos to’g’ri tarjima qlishda yordamlashing)* Til integratsiyasi. .NETga oraliq til vorisligi,istisnolarni taxrirlash (istisnolarga tayyorlash oraliq tili) oraliq tili kod sozlovlari qo’llab-quvvatlanadi. * Katta to’plamdagi bazali klasslar kutubxonasi. Bu kutubxona murakkabliklarga qochish imkonini bernadi, API-interfeysl...Ещё* Ko’plab dasturlash tillari bilan ishlay olishi qobiliyati. .NET dasturlarini dasturlash tilini xohlagan turidagi dasturlash tili;arini ishlatgan holda tuza olish mumkin (C#, Visual Basic, F# va h.k.).* .NET da ishlovchi barcha tillar uchun bo’lgan, umumiy bajaruvchi mexanizm.Ushbu mexanizmning aspektlaridan biri, har bir.NET tilida ishlovchi, tushunishga qodir, yaxshi ma’lum bo’lgan nabor tiplari borligi. (Shu yerini o’zim ham tarjimani tushunmadim, so’zma-ao’z tarjima. Iltimos to’g’ri tarjima qlishda yordamlashing)* Til integratsiyasi. .NETga oraliq til vorisligi,istisnolarni taxrirlash (istisnolarga tayyorlash oraliq tili) oraliq tili kod sozlovlari qo’llab-quvvatlanadi. * Katta to’plamdagi bazali klasslar kutubxonasi. Bu kutubxona murakkabliklarga qochish imkonini bernadi, API-interfeyslarga murojatni quyi bosqichli bajarishi bilan bog’liq bo’lgan imkonidir va .NET tillari tomonidan ishlatiladigan, muvofiqlashgan obyektli modelni taklif qiladi.* Kengaytirishning soddalashtirilgan modeli. COMdan farqli ravishda (o’laroq) .NET kutubxonalari reegstrlar tizimiga registratsiya qilinmaydi. Yana, .NET platformasi bitta (va huddi o’sha) kompyuterda bir necha versiyalari bitta *.dll da yashash imkoniyatini yaratadi.
Bu va boshqa ko’pgina mavzulalr to’liqroq keying bo’limlarga yoritiladi.
9-bo'lim ---------------- 46. I qism. C# va .NET platformasiga kirish.
.NET platformasining tuzilish qismlari (CLR, CTS, CLS) bilan tanishuv.
.NET platformasining asosiy ustunliklarini bilib oldingiz, endi bu ustunliklar sababchisi bo'lgan 3ta asosiy (o'zaro bir-biri bilan bog'liq) komponentlarni - CLR, CTS va CLS larni ko'rib chiqamiz.
Dasturchi nuqtai nazarida .NET bajarish muhiti va keng ko'lamdasi asosiy klasslar kutubxonasidan iborat.
Bajarish muhiti darajasi - Umumtil Bajarish Muhiti (Common Language Runtime), yoki qisqacha CLR muhiti deyiladi.
CLRning asosiy vazifasi (dasturchi o'rniga) .NET obyektlarini avtomatik aniqlash yuklash va boshqarish.
Bundan tashqari, CLR muhiti qator quyi bosqichli qismlar bo'lmish, hotirani boshqarish, dasturlarni joylashtirish, oqimlarni koordinatsiyalash va xavfsizlik bilan bog'liq tekshiruvlarni bajarish (shu jumladan boshqa quyi bosqichli nozik farqlar) haqida ham qayg'uradi.
10-bo'lim ---------------- Yana bir .NET platformasining tarkibiy qismi (строительный блок) bo'lib Umumiy Tiplar Tizimi (Common Type System), yoki qisqacha CTS tizimi hisoblanadi.
Bajarish muhiti tomonigan qo'llash mumkin bo'lgan, barcha ma'lumot tiplari va barcha dasturiy konstruksiyalar CTS spetsifikatsiyasida berilgan.
Bundan tashqari, CTS da bularning (ya'ni ma'lumot turlari va dasturiy konstruksiyalar) bir-biri bilan o'zaro munosabatlari ko'rsatib berilgan, va metama'lumot (метаданных) formatida qanday ko'rinishda ekanligi ham berilgan (bu haqida 15-bo'limda to'liqroq).
Shuni tushunish muhimki, .NEt da ishlovchi alohida biror til CTS spetsifikatsiyalariga berilgan barcha funksional vositalari qo'llay olmaydi.
Shu sababli "Umimiy Til Spetsifikatsiyasi" (Common Language Specification), qisqacha, CLS mavjud.
Bunda barcha .NET dasturlash tillari uchun umumiy bo'lgan umumiy tiplalr va dasturiy konstruksiyalar e...Ещё10-bo'lim ---------------- Yana bir .NET platformasining tarkibiy qismi (строительный блок) bo'lib Umumiy Tiplar Tizimi (Common Type System), yoki qisqacha CTS tizimi hisoblanadi.
Bajarish muhiti tomonigan qo'llash mumkin bo'lgan, barcha ma'lumot tiplari va barcha dasturiy konstruksiyalar CTS spetsifikatsiyasida berilgan.
Bundan tashqari, CTS da bularning (ya'ni ma'lumot turlari va dasturiy konstruksiyalar) bir-biri bilan o'zaro munosabatlari ko'rsatib berilgan, va metama'lumot (метаданных) formatida qanday ko'rinishda ekanligi ham berilgan (bu haqida 15-bo'limda to'liqroq).
Shuni tushunish muhimki, .NEt da ishlovchi alohida biror til CTS spetsifikatsiyalariga berilgan barcha funksional vositalari qo'llay olmaydi.
Shu sababli "Umimiy Til Spetsifikatsiyasi" (Common Language Specification), qisqacha, CLS mavjud.
Bunda barcha .NET dasturlash tillari uchun umumiy bo'lgan umumiy tiplalr va dasturiy konstruksiyalar erilgan.
Shuday qilib, agar .NET da yaratiadigan tiplar CLS bilan muvofiq bo'lsa uni barch .NET tillarida ishlatish mumkin.
Suningdek aksincha, agar ma'lumot tiplari va dasturiy konstruksiyalar CLS chegaralarigan chiqadigan bo'lsa ularni .NET ning barcha tillari bilan muvofiqligini kafolatlab bo'lmaydi.
Baxtimizga, C# kompilyatoriga barcha kodlarni CLS bilan muvofiqligini ko'rsatib turuvchi juda oddiy yo'li mavjud bo'lib, u ushbu bo'lim keyinroq ko'rsatiladi.
11-bo'lim -------------- Asosiy klasslar kutubxonasining roli
.NET platsormasining CLR muhiti va CTS/CLR spetsifikatsiyalariga qo'shimcha tarzda .NET dagi barcha dasturiy tillarda ishlash mumkin bo'lgan asosiy (bazaviy) klasslar kutubxonasini taqdim etadi. Bu kutubxona oqimlar, fayllar, grafika va turli tashqi qurilmalar bilanma'lumot almashish kabi primitiv funksiyalar bilan birga, shuningdek, ko'p hayotiy dasturlarda qo'llanadigan xizmatlarni ham qo'llay olishni ta'minlaydi.
Turli xil dasturlarni tuzishda ishlatish mumkin bo'lgan, Asosiy Klasslar Kutubxonasi tiplarni aniqlaydi.
Masalan, ASP.NET ni veb sayt yaratishda qo'llash mumkin, WCF - tarmoqli xizmat (setevoy slujba) yaratish uchun, WPF - foydalanuvchi uchun grafik interfeysli dasturlar yaratidh uchun va x.k.
Bundan tashqari, Asosiy Klasslar Kutubxonasi XML-hujjatlar, lokal katalog va kompyuterning faylli tizimi bilan ishlovchi tiplarni ham taqdim etadi, bu tiplar ma'lumotlar ombor...Ещё11-bo'lim -------------- Asosiy klasslar kutubxonasining roli
.NET platsormasining CLR muhiti va CTS/CLR spetsifikatsiyalariga qo'shimcha tarzda .NET dagi barcha dasturiy tillarda ishlash mumkin bo'lgan asosiy (bazaviy) klasslar kutubxonasini taqdim etadi. Bu kutubxona oqimlar, fayllar, grafika va turli tashqi qurilmalar bilanma'lumot almashish kabi primitiv funksiyalar bilan birga, shuningdek, ko'p hayotiy dasturlarda qo'llanadigan xizmatlarni ham qo'llay olishni ta'minlaydi.
Turli xil dasturlarni tuzishda ishlatish mumkin bo'lgan, Asosiy Klasslar Kutubxonasi tiplarni aniqlaydi.
Masalan, ASP.NET ni veb sayt yaratishda qo'llash mumkin, WCF - tarmoqli xizmat (setevoy slujba) yaratish uchun, WPF - foydalanuvchi uchun grafik interfeysli dasturlar yaratidh uchun va x.k.
Bundan tashqari, Asosiy Klasslar Kutubxonasi XML-hujjatlar, lokal katalog va kompyuterning faylli tizimi bilan ishlovchi tiplarni ham taqdim etadi, bu tiplar ma'lumotlar ombori bilan bo'glanish uchun (ADO.NET orqali) va hokazolar uchun xizmat qiladi.
Yuqori bosqichda CLR, CTS, CLS va Asosiy Klasslar Kutubxonasi o'rtasidagi munosabat 1.1-rasmda ko'rsatilganidek ko'rinishga ega.
Мы используем cookie-файлы, чтобы улучшить сервисы для вас. Если ваш возраст менее 13 лет, настроить cookie-файлы должен ваш законный представитель. Больше информации
Комментарии 12
I QISM
C# va .NET
platformasiga kirish
Ushbu
bo'limda
1 bo'lim.
.NET haqida asosiy tushunchalar
2 bo'lim. C#
dasturlash tilida dasturlar tuzish
---------
1 Bo'lim
.NET haqida asosiy
tushunchalar
Microsoft .NET
platformasi (va unga bog'liq C# dasturlash tili) ilk bor 2002 yil ommaga
tanishtirildi va tez orada dasturiy ta'minotlarni yaratish uchun asosiy
dasturlash muhitlaridan biri bo'lishga ham ulgurdi.
Ushbu kitobni
...Ещё2)kirish qismida aytib o'tilganidek, kitob yozilishida ikkita asosiy maqsadni
oldinga surildi. Birinchisi - kitobxonlarga C# tilining sintaksisi va
semantikasini to'liq va batafsil tushuntirish bo'lsa, ikkinchisi - .NET ning
ko'psonli API-interfeyslarini, shuningdek ADO.NET va Entity Framework (EF)
orqali ma'lumotlar bazasiga murojaat qilish, LINQ, WPF, WCF, WF texnologiyalari
to'plami va ASP.NET dan foydalangan holda web-saytlar yaratish kabi
imkoniyatlardan foydalanishni yoritishdir. Har qanday sayohat ilk qadamlardan
boshlanadi deganlaridek, biz ham ushbu qadamlarni mazkur bo'limda
---------
1 Bo'lim
.NET haqida asosiy
tushunchalar
Microsoft .NET
platformasi (va unga bog'liq C# dasturlash tili) ilk bor 2002 yil ommaga
tanishtirildi va tez orada dasturiy ta'minotlarni yaratish uchun asosiy
dasturlash muhitlaridan biri bo'lishga ham ulgurdi.
Ushbu kitobni
kirish qismida aytib o'tilganidek, kitob yozilishida ikkita asosiy maqsadni
oldinga surildi. Birinchisi - kitobxonlarga C# tilining sintaksisi va
semantikasini to'liq va batafsil tushuntirish bo'lsa, ikkinchisi - .NET ning
ko'psonli API-interfeyslarini, shuningdek ADO.NET va Entity Framework (EF)
orqali ma'lumotlar bazasiga murojaat qilish, LINQ, WPF, WCF, WF texnologiyalari
to'plami va ASP.NET dan foydalangan holda web-saytlar yaratish kabi
imkoniyatlardan foydalanishni yoritishdir. Har qanday sayohat ilk qadamlardan
boshlanadi deganlaridek, biz ham ushbu qadamlarni mazkur bo'limda qo'yamiz.
------------------
Joriy
bo'limning maqsadi kitobning barcha qolgan materiallarini o'zlashtirish uchun
konseptual asosini tuzishni o'z ichiga oladi. Bu yerda .NET bilan bog'liq
yig'ish kabi, umumiy oraliq tili (Common Intermediate Language — CIL) va tezkor
kompilyatsiya (ust-In-Time Compilation — JIT) mavzulari ko'rib chiqiladi. C#
dasturlash tilining kalit so'zlarining boshlang'ich umumiy ma'lumotiga
qo'shimcha ravishda, siz turli .NET komponentlari o'rtasidagi o'zaro
munosabatlarni bilib olasiz, bular jumlasiga bajaruvchi umumtil muhiti (Common
Language Runtime — CLR), tiplar umuiy tizimi (Common Type System — CTS) va
umumtil spetsifikatsiyasi (Common Language Specification — CLS) kiradi. Umumiy
Oraliq Til katta bilan, yana JIT ni tezkor kompilyasiya deyish to'g'ri kelmaydi.
------------
Undan
tashqari ushbu bo'limda .NET 4.5 dagi bazali klasslari kutubxonalarining (base
class library - BCL) funksionalliklar haqida ham ma'lumotlar berilgan. Bu yerda
.NET platformasining til va platformaga bog'liq bo'lmagan tomonlari (.NET ni
qo'llash sohasi faqatgina Windows operasion tizimi bilan cheklanmagan) va
Windows 8 muhitiga mo'ljallangan dasturlar tuzishda .NET platformasining roli
bilan ham tanishasiz. Tushunarli bo'lsa ushbu mavzulardan kop'laru kitobning qolgan qismida
to'liqroq yoritiladi.
Net paltformasi bilan boshlang'ich tanishuv.
Microsoft kompaniyasi C# tili va .NET platformasini ommaga taqdim
etgunga qadar, Windows oilasi tizimi uchun dastur yaratuvchi dasturlash tili
mutaxassislari, COM dasturlash modelini tez-tez qo'llashar edi. COM
texnologiyasi (Component Object Model — komponentli obyektlar modeli)
kutubxonalar qurish imkonin berar edi, ularni turli dasturlash tillarida
ishlatish mumkin edi. Masalan, C++ dasturchisi, undan Visual Basic dasturchisi
foydalanishi bo'lgan, COM kutubxonasini yarata olardi. Tilga bog'liq bo'lmagan
COM tabiati, shubhasiz qulay edi.
COM murakkabliklari ve cheklovlariga qaramay, bu arxitekturani qullash
son sanoqsiz dasturlarni muvaffaqiyatli yaratilishiga olib keldi. Shunga qaramay,
hozirgi vaqtda ko'pgina Windows operatsion tizimiga mo'ljallangan dasturlar COM
modelini qo'llamagan holda tuzilmoqda. Buning o'rniga (ya’ni COM o’rniga), stol
kompyuterlari uchun dasturlar, veb saytlar, operatsion tizim xizmatlari
(slujbalar) va ko’p karra ishlatiluvchi … kutubxonalar av biznes muammolar .Net
platformasi yordamida qurilmoqda.
.NET paltformasinig ba'zi abzal tomonlari
Avval aytilganider, C# tili va .NET platformasi birinchi bo'lib 2002
yilda taqdim etilgan va uni yaratilishidan maqsad COM ga nisbatan yanada
kuchli, egiluvchan, qayishqoq, tushunarli dasturlash modelini yaratish edi. Kitobning
qolgan materiallarida ko;rishsingiz mumkin bo'lgani - .NET Framework - Windows
operatsion tizimidagi dastur yaratish uchun mo'ljallangan dasturiy
platformadir, shuningdek Microsoft ga taalluqli bo'lmagan ko'plab operatsion
tizimlar uchun hamdir, bular sirasiga Mac OC X va turli Unix va Linux
distribyutivalari kiradi. Boshlanishiga quyida .Net ga taalluqli ba'zi kerakli
ma'lumotlar berilgan:
* Mavjud kod bilan o'zaro bog'lanish imkoniyati. Bu imkoniyat,
...Ещёshubhasiz, judayam foydali hisoblanadi, sababi mavjud ikkili COM
komponentlarini yangiroq .NET dastur komponentlai yoki aksi bilan turlicha
bi
.NET paltformasinig ba'zi abzal tomonlari
Avval aytilganider, C# tili va .NET platformasi birinchi bo'lib 2002
yilda taqdim etilgan va uni yaratilishidan maqsad COM ga nisbatan yanada
kuchli, egiluvchan, qayishqoq, tushunarli dasturlash modelini yaratish edi. Kitobning
qolgan materiallarida ko;rishsingiz mumkin bo'lgani - .NET Framework - Windows
operatsion tizimidagi dastur yaratish uchun mo'ljallangan dasturiy
platformadir, shuningdek Microsoft ga taalluqli bo'lmagan ko'plab operatsion
tizimlar uchun hamdir, bular sirasiga Mac OC X va turli Unix va Linux
distribyutivalari kiradi. Boshlanishiga quyida .Net ga taalluqli ba'zi kerakli
ma'lumotlar berilgan:
* Mavjud kod bilan o'zaro bog'lanish imkoniyati. Bu imkoniyat,
shubhasiz, judayam foydali hisoblanadi, sababi mavjud ikkili COM
komponentlarini yangiroq .NET dastur komponentlai yoki aksi bilan turlicha
birlashtirish (kompinatsiyalashtirish) imkonini beradi (ya'ni ular bilan o'zaro
bo'glanish, o'zgartirish imkonini beradi). .NET 4.0 chiqish bilan (16 bo'limda
ko'rib chiqiladigan) dynamiv kalit so'zi orqali ularga bog'lanish, o'zaro
munosabat yana soddalashdi.
ishlay olishi qobiliyati. .NET dasturlarini dasturlash tilini xohlagan turidagi dasturlash
tili;arini ishlatgan holda tuza olish mumkin (C#, Visual Basic, F# va
h.k.).* .NET da ishlovchi barcha tillar
uchun bo’lgan, umumiy bajaruvchi mexanizm.Ushbu mexanizmning aspektlaridan biri,
har bir.NET tilida ishlovchi, tushunishga qodir, yaxshi ma’lum bo’lgan
nabor tiplari borligi. (Shu yerini o’zim ham
tarjimani tushunmadim, so’zma-ao’z tarjima. Iltimos to’g’ri tarjima
qlishda yordamlashing)* Til integratsiyasi. .NETga oraliq til
vorisligi,istisnolarni taxrirlash (istisnolarga tayyorlash oraliq tili)
oraliq tili kod sozlovlari qo’llab-quvvatlanadi.
* Katta to’plamdagi bazali
klasslar kutubxonasi. Bu kutubxona murakkabliklarga qochish imkonini bernadi,
API-interfeysl...Ещё* Ko’plab dasturlash tillari bilan
ishlay olishi qobiliyati. .NET dasturlarini dasturlash tilini xohlagan turidagi dasturlash
tili;arini ishlatgan holda tuza olish mumkin (C#, Visual Basic, F# va
h.k.).* .NET da ishlovchi barcha tillar
uchun bo’lgan, umumiy bajaruvchi mexanizm.Ushbu mexanizmning aspektlaridan biri,
har bir.NET tilida ishlovchi, tushunishga qodir, yaxshi ma’lum bo’lgan
nabor tiplari borligi. (Shu yerini o’zim ham
tarjimani tushunmadim, so’zma-ao’z tarjima. Iltimos to’g’ri tarjima
qlishda yordamlashing)* Til integratsiyasi. .NETga oraliq til
vorisligi,istisnolarni taxrirlash (istisnolarga tayyorlash oraliq tili)
oraliq tili kod sozlovlari qo’llab-quvvatlanadi.
* Katta to’plamdagi bazali
klasslar kutubxonasi. Bu kutubxona murakkabliklarga qochish imkonini bernadi,
API-interfeyslarga murojatni quyi bosqichli bajarishi bilan bog’liq
bo’lgan imkonidir va .NET tillari tomonidan ishlatiladigan, muvofiqlashgan
obyektli modelni taklif qiladi.* Kengaytirishning
soddalashtirilgan modeli. COMdan farqli ravishda (o’laroq) .NET kutubxonalari reegstrlar
tizimiga registratsiya qilinmaydi. Yana, .NET platformasi bitta (va huddi
o’sha) kompyuterda bir necha versiyalari bitta *.dll da yashash
imkoniyatini yaratadi.
Bu va boshqa ko’pgina mavzulalr to’liqroq keying bo’limlarga yoritiladi.
----------------
46. I qism. C# va .NET platformasiga kirish.
.NET platformasining tuzilish qismlari (CLR, CTS, CLS) bilan tanishuv.
.NET platformasining asosiy ustunliklarini bilib oldingiz, endi bu ustunliklar sababchisi bo'lgan 3ta asosiy (o'zaro bir-biri bilan bog'liq) komponentlarni - CLR, CTS va CLS larni ko'rib chiqamiz.
Dasturchi nuqtai nazarida .NET bajarish muhiti va keng ko'lamdasi asosiy klasslar kutubxonasidan iborat.
Bajarish muhiti darajasi - Umumtil Bajarish Muhiti (Common Language Runtime), yoki qisqacha CLR muhiti deyiladi.
CLRning asosiy vazifasi (dasturchi o'rniga) .NET obyektlarini avtomatik aniqlash yuklash va boshqarish.
Bundan tashqari, CLR muhiti qator quyi bosqichli qismlar bo'lmish, hotirani boshqarish, dasturlarni joylashtirish, oqimlarni koordinatsiyalash va xavfsizlik bilan bog'liq tekshiruvlarni bajarish (shu jumladan boshqa quyi bosqichli nozik farqlar) haqida ham qayg'uradi.
----------------
Yana bir .NET platformasining tarkibiy qismi (строительный блок) bo'lib Umumiy Tiplar Tizimi (Common Type System), yoki qisqacha CTS tizimi hisoblanadi.
Bajarish muhiti tomonigan qo'llash mumkin bo'lgan, barcha ma'lumot tiplari va barcha dasturiy konstruksiyalar CTS spetsifikatsiyasida berilgan.
Bundan tashqari, CTS da bularning (ya'ni ma'lumot turlari va dasturiy konstruksiyalar) bir-biri bilan o'zaro munosabatlari ko'rsatib berilgan, va metama'lumot (метаданных) formatida qanday ko'rinishda ekanligi ham berilgan (bu haqida 15-bo'limda to'liqroq).
Shuni tushunish muhimki, .NEt da ishlovchi alohida biror til CTS spetsifikatsiyalariga berilgan barcha funksional vositalari qo'llay olmaydi.
Shu sababli "Umimiy Til Spetsifikatsiyasi" (Common Language Specification), qisqacha, CLS mavjud.
Bunda barcha .NET dasturlash tillari uchun umumiy bo'lgan umumiy tiplalr va dasturiy konstruksiyalar e...Ещё10-bo'lim
----------------
Yana bir .NET platformasining tarkibiy qismi (строительный блок) bo'lib Umumiy Tiplar Tizimi (Common Type System), yoki qisqacha CTS tizimi hisoblanadi.
Bajarish muhiti tomonigan qo'llash mumkin bo'lgan, barcha ma'lumot tiplari va barcha dasturiy konstruksiyalar CTS spetsifikatsiyasida berilgan.
Bundan tashqari, CTS da bularning (ya'ni ma'lumot turlari va dasturiy konstruksiyalar) bir-biri bilan o'zaro munosabatlari ko'rsatib berilgan, va metama'lumot (метаданных) formatida qanday ko'rinishda ekanligi ham berilgan (bu haqida 15-bo'limda to'liqroq).
Shuni tushunish muhimki, .NEt da ishlovchi alohida biror til CTS spetsifikatsiyalariga berilgan barcha funksional vositalari qo'llay olmaydi.
Shu sababli "Umimiy Til Spetsifikatsiyasi" (Common Language Specification), qisqacha, CLS mavjud.
Bunda barcha .NET dasturlash tillari uchun umumiy bo'lgan umumiy tiplalr va dasturiy konstruksiyalar erilgan.
Shuday qilib, agar .NET da yaratiadigan tiplar CLS bilan muvofiq bo'lsa uni barch .NET tillarida ishlatish mumkin.
Suningdek aksincha, agar ma'lumot tiplari va dasturiy konstruksiyalar CLS chegaralarigan chiqadigan bo'lsa ularni .NET ning barcha tillari bilan muvofiqligini kafolatlab bo'lmaydi.
Baxtimizga, C# kompilyatoriga barcha kodlarni CLS bilan muvofiqligini ko'rsatib turuvchi juda oddiy yo'li mavjud bo'lib, u ushbu bo'lim keyinroq ko'rsatiladi.
--------------
Asosiy klasslar kutubxonasining roli
.NET platsormasining CLR muhiti va CTS/CLR spetsifikatsiyalariga qo'shimcha tarzda .NET dagi barcha dasturiy tillarda ishlash mumkin bo'lgan asosiy (bazaviy) klasslar kutubxonasini taqdim etadi. Bu kutubxona oqimlar, fayllar, grafika va turli tashqi qurilmalar bilanma'lumot almashish kabi primitiv funksiyalar bilan birga, shuningdek, ko'p hayotiy dasturlarda qo'llanadigan xizmatlarni ham qo'llay olishni ta'minlaydi.
Turli xil dasturlarni tuzishda ishlatish mumkin bo'lgan, Asosiy Klasslar Kutubxonasi tiplarni aniqlaydi.
Masalan, ASP.NET ni veb sayt yaratishda qo'llash mumkin, WCF - tarmoqli xizmat (setevoy slujba) yaratish uchun, WPF - foydalanuvchi uchun grafik interfeysli dasturlar yaratidh uchun va x.k.
Bundan tashqari, Asosiy Klasslar Kutubxonasi XML-hujjatlar, lokal katalog va kompyuterning faylli tizimi bilan ishlovchi tiplarni ham taqdim etadi, bu tiplar ma'lumotlar ombor...Ещё11-bo'lim
--------------
Asosiy klasslar kutubxonasining roli
.NET platsormasining CLR muhiti va CTS/CLR spetsifikatsiyalariga qo'shimcha tarzda .NET dagi barcha dasturiy tillarda ishlash mumkin bo'lgan asosiy (bazaviy) klasslar kutubxonasini taqdim etadi. Bu kutubxona oqimlar, fayllar, grafika va turli tashqi qurilmalar bilanma'lumot almashish kabi primitiv funksiyalar bilan birga, shuningdek, ko'p hayotiy dasturlarda qo'llanadigan xizmatlarni ham qo'llay olishni ta'minlaydi.
Turli xil dasturlarni tuzishda ishlatish mumkin bo'lgan, Asosiy Klasslar Kutubxonasi tiplarni aniqlaydi.
Masalan, ASP.NET ni veb sayt yaratishda qo'llash mumkin, WCF - tarmoqli xizmat (setevoy slujba) yaratish uchun, WPF - foydalanuvchi uchun grafik interfeysli dasturlar yaratidh uchun va x.k.
Bundan tashqari, Asosiy Klasslar Kutubxonasi XML-hujjatlar, lokal katalog va kompyuterning faylli tizimi bilan ishlovchi tiplarni ham taqdim etadi, bu tiplar ma'lumotlar ombori bilan bo'glanish uchun (ADO.NET orqali) va hokazolar uchun xizmat qiladi.
Yuqori bosqichda CLR, CTS, CLS va Asosiy Klasslar Kutubxonasi o'rtasidagi munosabat 1.1-rasmda ko'rsatilganidek ko'rinishga ega.