SlideShare a Scribd company logo
1 of 31
2013-2014
Company Logo
Энэ хичээлийн зорилго нь визуаль
програмчлалын хэл , хэрэгсэл
ашиглан клиент сервер орчинд
хэрэглээний буюу өгөгдлийн сангийн
програм хангамж боловсруулах
мэдлэг чадвартай болгоход оршино.

Company Logo
Сурах бичиг
Visual Studio .Net C# study guide
, Eric Butow and Tommy Ryan
Core Csharp and .Net Stephen C Perry
C# , Б.Болормаа, Г. Ууганбаяр

Company Logo
ДҮГНЭХ ЖУРАМ
Ирц 10
Сэдвийн шалгалт -20
Идэвхи 5
Сүүлийн шалгалт 30
Бие даалт 35

Company Logo
.Net-н аль ч хэлэнд үүсгэсэн классыг
бусад програмчлалын хэлнүүд
удамшуулан хэрэглэх боломжтой.
.Net нь нийтлэг өгөгдлийн
төрлүүдээс бүрддэг.
Common Language Runtime-г
хэрэглэдэг болсон.

Company Logo
Windows Application болон Webbased Application бүтээх өндөр
түвшиний хэрэгсэлүүдээр бүрэн
хангагдсан.
Програмчлалын хэлүүд хоорондоо
харилцах боломжоор хангагдсан.
Ж нь C# хэл дээр хийсэн програмыг
Visual Basic дээр debug хийх
боломжтой.
Company Logo
.NET
Framework
нь
интернэт
програм, десктоп програм болон
хөдөлгөөнт
байгууламжийн
програмыг хөгжүүлэх, ажиллуулахад
зориулагдсан цогц орчин.

Company Logo
.NET Framework-ийн зорилтууд
Олон төрлийн програмуудад зориулсан
объект хандлагат орчин байх
Кодыг түгээх болон суурилуулах үйл
явцыг хялбаршуулах
Үйлдлийн систем харгалзахгүйгээр
ажилладаг виртуаль орчин байх
Кодыг аюулгүй ажиллуулдаг хяналттай
орчин байх

Company Logo
.NET Framework-ийн бүрэлдэхүүн

.NET
Framework

Common
Language
Runtime

Framework
Class
Library

Company Logo
Common Language Runtime /CLR/
CLR буюу дундын ажиллах орчин нь
кодын
ажиллагааг
хянах
болон
ажиллуулахтай холбоотой бүх үүргийг
хүлээнэ.
• Debugging /алдааг илрүүлж, мэдээлэгч/
• Memory management/санах ойн удирдлага /
• Compiling /хөрвүүлэлт/
• Security/хамгаалалт/
• Exception handling/алдааг баригч/
• Ялгаатай хэл хоорондын тэгш байдлыг
хангах
Company Logo
Common Language Runtime /CLR/
CLR буюу дундын ажиллах орчин нь
нэгэн төрлийн виртуаль машин
бөгөөд
энэ
нь
компьютерийн
платформ
болон
програм
/application/ хооронд хиймэл орчинг
бүрдүүлж, харилцан ажиллах боломж
олгодог системийн програм хангамж
юм.

Company Logo
Common Language Runtime /CLR/

 NET програм нь машины биелэгдэх кодруу
шууд
хөрвөдөггүй,
харин
завсрын
хэл(Intermediate Language) рүү хөрвүүлэгддэг.
 IL нь зөвхөн CLR-аар ажиллах боломжтой
тусгай код юм.
 C# хэлний үүсгэдэг IL нь бусад .NET төрлийн
хэлүүд(VB.NET, C++, Pascal, J#, Perl)-ийн
үүсгэдэг IL кодтой ижил байна. Иймээс .NET
нь хэл хамааралгүй платформ болж чаддаг.

Company Logo
Common Language Runtime /CLR/

 IL нь стандарт биелэх код биш учраас
машинтай
зохицон
ажиллахын
тулд
ажиллах горимын үед JIT (Just-In-Time)
хөрвүүлэгчээр дахин хөрвүүлэгддэг.
 .NET нь JIT хөрвүүлэгчийн ачаар платформ
хамааралгүй байж чаддаг.
 IL код нь CLR-ийн хяналт дор ажилладаг
учраас хяналттай код гэж нэрлэдэг.
 Хөрвүүлэгчид нь IL код үүсгэхээс гадна
мета өгөгдлийг үүсгэдэг.
Company Logo
Common Language Runtime /CLR/

C#

Visual
Basic.NET

C++

MicroSoft
Intermediate Language
(MSIL)
Operating System

J#

Linking

...

Existing MSIL
Source Codes

Just-in-Time (JIT) Compilation
Common Language
Runtime
(CLR)
Company Logo
Common Language Runtime /CLR/

 Мета өгөгдөлд ассемблейд агуулагдсан
классууд, тэдгээрийн гишүүд, төрлийн
хандалт, зэрэг мэдээлэл агуудагдах ба
эдгээр мэдээлэл нь кодыг шинжлэх
бололмжийг олгоно.Ө.х өөр өгөгдлийн
тухай өгөгдлийг мета өгөгдөл гэнэ.

Company Logo
Common Language Runtime /CLR/

Мета өгөгдөл нь олон чухал зориулалттай:
• JIT хөрвүүлэгч нь ажиллах горимын үед хөрвүүлэлтэд
шаардлагатай бүх мэдээллийг мета өгөгдлөөс авдаг.
Энэ мэдээллийг ашиглан програм зөвшөөрөгдсөн
үйлдэл хийж байгаа эсэхэд хяналт тавьдаг.
• Мета өгөгдөл нь хог цэвэрлэх процесст ашиглагдана.
Хог цэвэрлэгч нь мета өгөгдлийг ашиглан програмын
объектуудын ашиглаад орхисон санах ойн мужуудыг
автоматаар чөлөөлнө

• Мета өгөгдөлтэй ажиллах .NET классууд нь кодыг
ажиллаж байх үед нь шинжлэн, түүний үндсэн дээр
шийдэл гаргадаг.
Company Logo
Common Language Runtime /CLR/

 IL ба мета өгөгдөл нь хэл хоорондын
зохицолдоог хангахад шийдвэрлэх үүрэгтэй
байдаг.
 Үүний нууц нь .NET хөрвүүлэгчид дундын
өгөгдлийн төрөл, хэлний дүрмийг мөрддөгт
оршино.

Company Logo
Common Language Runtime /CLR/

 Дундын төрлийн систем нь .NET платформ
дээр
ажиллах
хэлүүдэд
зориулсан
өгөгдлийн суурь төрлүүдийн олонлог юм.
 Дундын төрлийн систем нь хэрэглэгчийн
төрөл
хэрхэн
үүсгэх,
тэдгээрийн
амьдралын орчилыг хэрхэн удирдахыг
зааж өгдөг.
Company Logo
Common Language Runtime /CLR/

Объект /Object/

Класс /Class/

Үндсэн /Primitives/

Интерфейс /Interface/

Бүтэц /Structure/

Массив /Array/

Тоочих /Enum/

Company Logo
Common Language Runtime /CLR/

 Хэрэглэгчийн болоод .NET бүх төрлүүд нь
System.Object төрлөөс удамшсан байдаг ба
бүх
төрлүүд
түүний
метод
болон
шинжүүдийг агуулсан байдаг.
 Энгийн төрлүүд нь объектод хандахдаа
програмын стект шууд хандана.

 Заалт төрлүүд нь объектод заагчаар
дамжуулан санах ойн хийп мужид хандана.
Company Logo
Common Language Runtime /CLR/

 Дундын хэлний дүрэм гэдэг нь CLR дээр
ажиллах програмчлалын хэлнүүдийн
мөрдвөл зохих суурь дүрэм юм.

Company Logo
Common Language Runtime /CLR/

 .NET дээр ажиллах хяналттай кодыг
агуулах хагас хөрвүүлсэн кодын санг
ассемблей гэнэ.
 Эх кодын файлыг хөрвүүлэхэд ассемблей
үүснэ.
 Ассемблей нь EXE эсвэл DLL гэсэн хоѐр
хэлбэртэй байна.

 Ассемблей нь манифест, мета өгөгдөл, IL
кодыг агуулна.
Company Logo
Common Language Runtime /CLR/

Манифест

Мета өгөгдөл

IL код

• Ассемблей бүр нэг
манифест
файлтай
байх ѐстой.
• Манифест гэдэг нь
ассемблей доторх бүх
файлуудын
нэр, хувилбар, гадаад
ассемблейн заалтууд
зэрэг
мэдээллийг
агуулсан хүснэгт юм.
• Ассемблейг ачаалах
үед CLR манифест
файлыг
нээж
ассемблейн бүтцийг
эхлээд судалдаг.

• Мета өгөгдөл нь IL дэх
төрөл, метод, талбар,
параметр,
заалтын
мэдээллийг агуулна.
• Заалтын хүснэгт нь
төрлүүд болон бусад
ассемблейруу заасан
бүх
заалтуудыг
агуулна.
• JIT хөрвүүлэгч нь IL-г
машины
кодруу
хөрвүүлэхдээ эдгээр
мэдээллийг ашиглана.

• IL
нь
CLR-т
ачаалагдахын
өмнө
EXE
эсвэл
DLL
ассемблейд
багцлагдсан
байх
хэрэгтэй.
• EXE ассемблей нь
програмын
биелэлтийн
эхлэх
цэгтэй байх ѐстой.
• DLL ассемблей нь
төрлүүдийн
тодоххойлолтуудыг
агуулдаг.
Company Logo
Common Language Runtime /CLR/

 JIT хөрвүүлэгчийн хажуугаар CLR нь IL
болон мета өгөгдөлд шалгалт хийнэ.
 Шалгалтын гол зорилго нь кодын төрлүүд
аюулгүй эсэхийг баталгаажуулах юм.

Company Logo
Common Language Runtime /CLR/

 Шалгагдсан кодын давуу тал нь уг програм
зөвшөөрөгдсөн мужаас гадагш хандалт
хийж бусад програмуудад нөлөөлөхгүй
гэдэгт CLR итгэлтэй болох юм.
 Үүний үр дүнд CLR олон програмуудыг нэг
процесс буюу хаягийн мужид аюулгүйгээр
ажиллуулах боломж бүрдэнэ. Энэ нь
үйлдлийн
системийн
нөөцийг
хэмнэх, гүйцэтгэлийг сайжруулах давуу
талтай.
Company Logo
Framework Class Library /FCL/
FCL буюу Фреймворкийн классын сан нь
.NET програмуудад буюу хяналттай
кодуудад ашиглагдах класс, төрлүүдийн
олонлог юм.
.NET Framework дээр
ажиллах бүх програмууд нь энэ дундын
санг ашигладаг.
 Windows програмууд /Windows Forms/
 Вэб програмууд /Web services, ASP.NET/
 Өгөгдлийн классууд /ADO.NET/
 График классууд /System.Drawing/ гэх мэт
Company Logo
Framework Class Library /FCL/

 Фреймворкийн классын сан дахь нөөцүүд
нь нэймспэйс гэж нэрлэгдэх бүлгүүдэд
хуваагдана.
 Ихэнхдээ нөөцүүд нь үүрэг зориулалтынхаа
дагуу бүлэглэгдэнэ.
 Нэймспэйс гэдэг нь логик ухагдахуун
бөгөөд тодорхой зүйлсийг нэгэн нэрийн дор
хамаатуулан утга учиртай нэрлэх боломж
олгодог.
Company Logo
Framework Class Library /FCL/

Жишээ:



System
System.Data

System.Windows.Forms
System.Web

System.Drawing
System.IO
Company Logo
Company Logo
Лекц 1

More Related Content

What's hot

мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэхмэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
Khishighuu Myanganbuu
 
Html хэлний хичээл
Html хэлний хичээлHtml хэлний хичээл
Html хэлний хичээл
Otgonzaya Maagshin
 
лекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалтлекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалт
E-Gazarchin Online University
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
Renchindorj Monkhzul
 
Lec3 c++operator
Lec3 c++operatorLec3 c++operator
Lec3 c++operator
Turuu Tsogt
 
програм хангамж
програм хангамжпрограм хангамж
програм хангамж
Baaya Badrakh
 
Дэлгүүрийн кассын систем
Дэлгүүрийн кассын системДэлгүүрийн кассын систем
Дэлгүүрийн кассын систем
Altangerel Bilguun
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн систем
shulam
 

What's hot (20)

мэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэхмэдээллийн системийг хөгжүүлэх
мэдээллийн системийг хөгжүүлэх
 
It101 lect9
It101 lect9It101 lect9
It101 lect9
 
Html хэлний хичээл
Html хэлний хичээлHtml хэлний хичээл
Html хэлний хичээл
 
лекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалтлекц 1 компьютерийн бүтэц зохион байгуулалт
лекц 1 компьютерийн бүтэц зохион байгуулалт
 
мэдээллийн систем
мэдээллийн системмэдээллийн систем
мэдээллийн систем
 
Systemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lektsSystemiin shinjilgee ba zohiomj lekts
Systemiin shinjilgee ba zohiomj lekts
 
database 7-8
database 7-8database 7-8
database 7-8
 
Java programchlal s.uuganbayr
Java programchlal s.uuganbayrJava programchlal s.uuganbayr
Java programchlal s.uuganbayr
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
Programchlaliin c hel
Programchlaliin c helProgramchlaliin c hel
Programchlaliin c hel
 
Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15Өгөгдлийн бүтэц 15
Өгөгдлийн бүтэц 15
 
Presentation1
Presentation1Presentation1
Presentation1
 
Lec3 c++operator
Lec3 c++operatorLec3 c++operator
Lec3 c++operator
 
1
11
1
 
програм хангамж
програм хангамжпрограм хангамж
програм хангамж
 
Дэлгүүрийн кассын систем
Дэлгүүрийн кассын системДэлгүүрийн кассын систем
Дэлгүүрийн кассын систем
 
Se304
Se304Se304
Se304
 
үйлдлийн систем
үйлдлийн системүйлдлийн систем
үйлдлийн систем
 
Sw203 Lecture8 Interface
Sw203 Lecture8 InterfaceSw203 Lecture8 Interface
Sw203 Lecture8 Interface
 

Viewers also liked (11)

Лабораторийн ажил 5
Лабораторийн ажил 5Лабораторийн ажил 5
Лабораторийн ажил 5
 
Лабораторийн ажил 1
Лабораторийн ажил 1Лабораторийн ажил 1
Лабораторийн ажил 1
 
Vpi sem8
Vpi sem8Vpi sem8
Vpi sem8
 
Лабораторийн ажил 6
Лабораторийн ажил 6Лабораторийн ажил 6
Лабораторийн ажил 6
 
Лабораторийн ажил 7
Лабораторийн ажил 7Лабораторийн ажил 7
Лабораторийн ажил 7
 
Лабораторийн ажил 4
Лабораторийн ажил 4Лабораторийн ажил 4
Лабораторийн ажил 4
 
Lecture1
Lecture1Lecture1
Lecture1
 
It101 lec12
It101 lec12It101 lec12
It101 lec12
 
U.it101 lecture13
U.it101 lecture13U.it101 lecture13
U.it101 lecture13
 
It101 lk-10
It101 lk-10It101 lk-10
It101 lk-10
 
лабораторийн ажил 7
лабораторийн ажил 7лабораторийн ажил 7
лабораторийн ажил 7
 

Similar to Лекц 1 (20)

1
11
1
 
Dotnet lekts
Dotnet lektsDotnet lekts
Dotnet lekts
 
It glossary
It glossaryIt glossary
It glossary
 
си хэлний ойлголт
си хэлний ойлголтси хэлний ойлголт
си хэлний ойлголт
 
Lecture1
Lecture1Lecture1
Lecture1
 
Лекц №5
Лекц №5Лекц №5
Лекц №5
 
2014 is101 lec7
2014 is101 lec72014 is101 lec7
2014 is101 lec7
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Lecture1
Lecture1Lecture1
Lecture1
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Lecture2
Lecture2Lecture2
Lecture2
 
C++
C++C++
C++
 
Лекц 2
Лекц 2Лекц 2
Лекц 2
 
Gosexem asuult 09
Gosexem asuult 09Gosexem asuult 09
Gosexem asuult 09
 
Lab1
Lab1Lab1
Lab1
 
Lecture vcp413
Lecture vcp413Lecture vcp413
Lecture vcp413
 
PL Lecture1
PL Lecture1PL Lecture1
PL Lecture1
 
Lec1 pragraming language
Lec1 pragraming languageLec1 pragraming language
Lec1 pragraming language
 
PL Lecture3
PL Lecture3PL Lecture3
PL Lecture3
 

More from Chinzorig Undarmaa (20)

Лабораторийн ажил 12
Лабораторийн ажил 12Лабораторийн ажил 12
Лабораторийн ажил 12
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Лекц 8
Лекц 8Лекц 8
Лекц 8
 
Хичээлийн тодорхойлолт
Хичээлийн тодорхойлолтХичээлийн тодорхойлолт
Хичээлийн тодорхойлолт
 
Бие даалтын удирдамж
Бие даалтын удирдамжБие даалтын удирдамж
Бие даалтын удирдамж
 
Лекц 1
Лекц 1Лекц 1
Лекц 1
 
Лекц 2
Лекц 2Лекц 2
Лекц 2
 
Лекц 3
Лекц 3Лекц 3
Лекц 3
 
Лабораторийн ажил 3 - 4
Лабораторийн ажил 3 - 4Лабораторийн ажил 3 - 4
Лабораторийн ажил 3 - 4
 
Лекц 4
Лекц 4Лекц 4
Лекц 4
 
Лабораторийн ажил 5 - 6
Лабораторийн ажил 5 - 6Лабораторийн ажил 5 - 6
Лабораторийн ажил 5 - 6
 
Лекц 5 - 6
Лекц 5 - 6Лекц 5 - 6
Лекц 5 - 6
 
Лабораторийн ажил 7
Лабораторийн ажил 7Лабораторийн ажил 7
Лабораторийн ажил 7
 
Лекц 7
Лекц 7Лекц 7
Лекц 7
 
Хичээлийн тодорхойлолт
Хичээлийн тодорхойлолтХичээлийн тодорхойлолт
Хичээлийн тодорхойлолт
 
Хичээлийн тодорхойлолт
Хичээлийн тодорхойлолтХичээлийн тодорхойлолт
Хичээлийн тодорхойлолт
 
Бие даалтын удирдамж
Бие даалтын удирдамжБие даалтын удирдамж
Бие даалтын удирдамж
 
Лабораторийн ажил 7
Лабораторийн ажил 7Лабораторийн ажил 7
Лабораторийн ажил 7
 

Лекц 1

  • 2. Энэ хичээлийн зорилго нь визуаль програмчлалын хэл , хэрэгсэл ашиглан клиент сервер орчинд хэрэглээний буюу өгөгдлийн сангийн програм хангамж боловсруулах мэдлэг чадвартай болгоход оршино. Company Logo
  • 3. Сурах бичиг Visual Studio .Net C# study guide , Eric Butow and Tommy Ryan Core Csharp and .Net Stephen C Perry C# , Б.Болормаа, Г. Ууганбаяр Company Logo
  • 4. ДҮГНЭХ ЖУРАМ Ирц 10 Сэдвийн шалгалт -20 Идэвхи 5 Сүүлийн шалгалт 30 Бие даалт 35 Company Logo
  • 5.
  • 6. .Net-н аль ч хэлэнд үүсгэсэн классыг бусад програмчлалын хэлнүүд удамшуулан хэрэглэх боломжтой. .Net нь нийтлэг өгөгдлийн төрлүүдээс бүрддэг. Common Language Runtime-г хэрэглэдэг болсон. Company Logo
  • 7. Windows Application болон Webbased Application бүтээх өндөр түвшиний хэрэгсэлүүдээр бүрэн хангагдсан. Програмчлалын хэлүүд хоорондоо харилцах боломжоор хангагдсан. Ж нь C# хэл дээр хийсэн програмыг Visual Basic дээр debug хийх боломжтой. Company Logo
  • 8. .NET Framework нь интернэт програм, десктоп програм болон хөдөлгөөнт байгууламжийн програмыг хөгжүүлэх, ажиллуулахад зориулагдсан цогц орчин. Company Logo
  • 9. .NET Framework-ийн зорилтууд Олон төрлийн програмуудад зориулсан объект хандлагат орчин байх Кодыг түгээх болон суурилуулах үйл явцыг хялбаршуулах Үйлдлийн систем харгалзахгүйгээр ажилладаг виртуаль орчин байх Кодыг аюулгүй ажиллуулдаг хяналттай орчин байх Company Logo
  • 11. Common Language Runtime /CLR/ CLR буюу дундын ажиллах орчин нь кодын ажиллагааг хянах болон ажиллуулахтай холбоотой бүх үүргийг хүлээнэ. • Debugging /алдааг илрүүлж, мэдээлэгч/ • Memory management/санах ойн удирдлага / • Compiling /хөрвүүлэлт/ • Security/хамгаалалт/ • Exception handling/алдааг баригч/ • Ялгаатай хэл хоорондын тэгш байдлыг хангах Company Logo
  • 12. Common Language Runtime /CLR/ CLR буюу дундын ажиллах орчин нь нэгэн төрлийн виртуаль машин бөгөөд энэ нь компьютерийн платформ болон програм /application/ хооронд хиймэл орчинг бүрдүүлж, харилцан ажиллах боломж олгодог системийн програм хангамж юм. Company Logo
  • 13. Common Language Runtime /CLR/   NET програм нь машины биелэгдэх кодруу шууд хөрвөдөггүй, харин завсрын хэл(Intermediate Language) рүү хөрвүүлэгддэг.  IL нь зөвхөн CLR-аар ажиллах боломжтой тусгай код юм.  C# хэлний үүсгэдэг IL нь бусад .NET төрлийн хэлүүд(VB.NET, C++, Pascal, J#, Perl)-ийн үүсгэдэг IL кодтой ижил байна. Иймээс .NET нь хэл хамааралгүй платформ болж чаддаг. Company Logo
  • 14. Common Language Runtime /CLR/   IL нь стандарт биелэх код биш учраас машинтай зохицон ажиллахын тулд ажиллах горимын үед JIT (Just-In-Time) хөрвүүлэгчээр дахин хөрвүүлэгддэг.  .NET нь JIT хөрвүүлэгчийн ачаар платформ хамааралгүй байж чаддаг.  IL код нь CLR-ийн хяналт дор ажилладаг учраас хяналттай код гэж нэрлэдэг.  Хөрвүүлэгчид нь IL код үүсгэхээс гадна мета өгөгдлийг үүсгэдэг. Company Logo
  • 15. Common Language Runtime /CLR/  C# Visual Basic.NET C++ MicroSoft Intermediate Language (MSIL) Operating System J# Linking ... Existing MSIL Source Codes Just-in-Time (JIT) Compilation Common Language Runtime (CLR) Company Logo
  • 16. Common Language Runtime /CLR/   Мета өгөгдөлд ассемблейд агуулагдсан классууд, тэдгээрийн гишүүд, төрлийн хандалт, зэрэг мэдээлэл агуудагдах ба эдгээр мэдээлэл нь кодыг шинжлэх бололмжийг олгоно.Ө.х өөр өгөгдлийн тухай өгөгдлийг мета өгөгдөл гэнэ. Company Logo
  • 17. Common Language Runtime /CLR/  Мета өгөгдөл нь олон чухал зориулалттай: • JIT хөрвүүлэгч нь ажиллах горимын үед хөрвүүлэлтэд шаардлагатай бүх мэдээллийг мета өгөгдлөөс авдаг. Энэ мэдээллийг ашиглан програм зөвшөөрөгдсөн үйлдэл хийж байгаа эсэхэд хяналт тавьдаг. • Мета өгөгдөл нь хог цэвэрлэх процесст ашиглагдана. Хог цэвэрлэгч нь мета өгөгдлийг ашиглан програмын объектуудын ашиглаад орхисон санах ойн мужуудыг автоматаар чөлөөлнө • Мета өгөгдөлтэй ажиллах .NET классууд нь кодыг ажиллаж байх үед нь шинжлэн, түүний үндсэн дээр шийдэл гаргадаг. Company Logo
  • 18. Common Language Runtime /CLR/   IL ба мета өгөгдөл нь хэл хоорондын зохицолдоог хангахад шийдвэрлэх үүрэгтэй байдаг.  Үүний нууц нь .NET хөрвүүлэгчид дундын өгөгдлийн төрөл, хэлний дүрмийг мөрддөгт оршино. Company Logo
  • 19. Common Language Runtime /CLR/   Дундын төрлийн систем нь .NET платформ дээр ажиллах хэлүүдэд зориулсан өгөгдлийн суурь төрлүүдийн олонлог юм.  Дундын төрлийн систем нь хэрэглэгчийн төрөл хэрхэн үүсгэх, тэдгээрийн амьдралын орчилыг хэрхэн удирдахыг зааж өгдөг. Company Logo
  • 20. Common Language Runtime /CLR/  Объект /Object/ Класс /Class/ Үндсэн /Primitives/ Интерфейс /Interface/ Бүтэц /Structure/ Массив /Array/ Тоочих /Enum/ Company Logo
  • 21. Common Language Runtime /CLR/   Хэрэглэгчийн болоод .NET бүх төрлүүд нь System.Object төрлөөс удамшсан байдаг ба бүх төрлүүд түүний метод болон шинжүүдийг агуулсан байдаг.  Энгийн төрлүүд нь объектод хандахдаа програмын стект шууд хандана.  Заалт төрлүүд нь объектод заагчаар дамжуулан санах ойн хийп мужид хандана. Company Logo
  • 22. Common Language Runtime /CLR/   Дундын хэлний дүрэм гэдэг нь CLR дээр ажиллах програмчлалын хэлнүүдийн мөрдвөл зохих суурь дүрэм юм. Company Logo
  • 23. Common Language Runtime /CLR/   .NET дээр ажиллах хяналттай кодыг агуулах хагас хөрвүүлсэн кодын санг ассемблей гэнэ.  Эх кодын файлыг хөрвүүлэхэд ассемблей үүснэ.  Ассемблей нь EXE эсвэл DLL гэсэн хоѐр хэлбэртэй байна.  Ассемблей нь манифест, мета өгөгдөл, IL кодыг агуулна. Company Logo
  • 24. Common Language Runtime /CLR/  Манифест Мета өгөгдөл IL код • Ассемблей бүр нэг манифест файлтай байх ѐстой. • Манифест гэдэг нь ассемблей доторх бүх файлуудын нэр, хувилбар, гадаад ассемблейн заалтууд зэрэг мэдээллийг агуулсан хүснэгт юм. • Ассемблейг ачаалах үед CLR манифест файлыг нээж ассемблейн бүтцийг эхлээд судалдаг. • Мета өгөгдөл нь IL дэх төрөл, метод, талбар, параметр, заалтын мэдээллийг агуулна. • Заалтын хүснэгт нь төрлүүд болон бусад ассемблейруу заасан бүх заалтуудыг агуулна. • JIT хөрвүүлэгч нь IL-г машины кодруу хөрвүүлэхдээ эдгээр мэдээллийг ашиглана. • IL нь CLR-т ачаалагдахын өмнө EXE эсвэл DLL ассемблейд багцлагдсан байх хэрэгтэй. • EXE ассемблей нь програмын биелэлтийн эхлэх цэгтэй байх ѐстой. • DLL ассемблей нь төрлүүдийн тодоххойлолтуудыг агуулдаг. Company Logo
  • 25. Common Language Runtime /CLR/   JIT хөрвүүлэгчийн хажуугаар CLR нь IL болон мета өгөгдөлд шалгалт хийнэ.  Шалгалтын гол зорилго нь кодын төрлүүд аюулгүй эсэхийг баталгаажуулах юм. Company Logo
  • 26. Common Language Runtime /CLR/   Шалгагдсан кодын давуу тал нь уг програм зөвшөөрөгдсөн мужаас гадагш хандалт хийж бусад програмуудад нөлөөлөхгүй гэдэгт CLR итгэлтэй болох юм.  Үүний үр дүнд CLR олон програмуудыг нэг процесс буюу хаягийн мужид аюулгүйгээр ажиллуулах боломж бүрдэнэ. Энэ нь үйлдлийн системийн нөөцийг хэмнэх, гүйцэтгэлийг сайжруулах давуу талтай. Company Logo
  • 27. Framework Class Library /FCL/ FCL буюу Фреймворкийн классын сан нь .NET програмуудад буюу хяналттай кодуудад ашиглагдах класс, төрлүүдийн олонлог юм. .NET Framework дээр ажиллах бүх програмууд нь энэ дундын санг ашигладаг.  Windows програмууд /Windows Forms/  Вэб програмууд /Web services, ASP.NET/  Өгөгдлийн классууд /ADO.NET/  График классууд /System.Drawing/ гэх мэт Company Logo
  • 28. Framework Class Library /FCL/   Фреймворкийн классын сан дахь нөөцүүд нь нэймспэйс гэж нэрлэгдэх бүлгүүдэд хуваагдана.  Ихэнхдээ нөөцүүд нь үүрэг зориулалтынхаа дагуу бүлэглэгдэнэ.  Нэймспэйс гэдэг нь логик ухагдахуун бөгөөд тодорхой зүйлсийг нэгэн нэрийн дор хамаатуулан утга учиртай нэрлэх боломж олгодог. Company Logo
  • 29. Framework Class Library /FCL/ Жишээ:  System System.Data System.Windows.Forms System.Web System.Drawing System.IO Company Logo

Editor's Notes

  1. Microsoft –нзорилгоболямархэлашиглажбайнааньголбишхамгийнголньинтернэтболон windows application-гхурданхялбархөгжүүлэхюм. .Netньсистемийнүйлчилгээ, ажиллагааныхөдөлгүүр(runtime engine) , ажлынхүрээ(fremwork) , контролыгөргөнсонголтоорхэрэглэхболомжийгбийболгосон.
  2. 2000 оны 7 сард .NET флатформ-галбанёсоорзарласанбөгөөдүүнтэйхамт C# хэлзарлагдсан. Үндсэнхэлүүд- C#, J#, VB.NetJscripts.net1. .NET фрэймворкынхамгийнчухалгишүүнбол CLR(Common Language runtime) бөгөөдэнэньпрограмажиллахорчинюм. Энэньдээрхбүххэлүүүдхоорондоохамтранашиглах windows болон web хөгжүүлтэндзориулсанобъектхандалтплатформюм.2. Framework Class Library гэжнэрлэгдэххоорондоохамааралбүхийклассуудынсан.
  3. CLR ньобъектуудыгидэвхижүүлж, тэдгээрдээршалгалтхийж, санахойдачаалж, ажиллуулж , мөнтэдгээрийнашиглахгүйорхисонсанахойнүлдэгдэлүүдийгньцэвэрлэжбайдаг.
  4. CLR-г Java виртуальмашинтайадилхангэжойлгожболно.Виртуальмашингэдэгнькомпьютерийнплатформболонхэрэглэгчийнпрограмынхоорондхиймэлорчингбүрдүүлжхарилцанажиллахболомжолгодогсистемюм.
  5. .Netньхэлнийэрхчөлөөнөөсгаднахэлнийнэгдмэлбайдлыгхангадаг. Энэньөөрөөрхэлдээрбичигдсэнклассуудыгхоорондудамшуулах, алдаабарихдавууталтай. Энэболомжийг Common Type System гэжнэрлэгдэхтодорхойлолтынтусламжтайгаарбийболдог. Тухайлбал, .NetдэхбүхзүйлньSystem.Objectгэжнэрлэгдэхязгуурклассынобъектуудюм.
  6. CTS нькласс, интерфейс, төлөөлөгч ( delegate ), заалттөрөл ( reference type) C# дэхбүхобъектуудньзаалттөрөлдхамаарна.
  7. Ассемблайгэдэгнь IL кодыгагуулсан Dynamic Link Library(DLL) эсвэлбиелэхфайлыг(exe) хэлнэ.
  8. Тайлбар:энэ нь дуудагч, дуудагдагч методуудын параметрийн төрлүүд, буцах утгын төрлүүд тохирох эсэхийг шалгана.Ө.х CLR нь IL болон мета өгөгдөл дотор самналт хийж, хувьсагчид олгож байгаа бүх утгууд дээр төрлийн шалгалт хийнэ, хэрвээ тохирохгүй бол алдаа өгнө.