Microsoft .NET платформ нь Application хєгжvvлэх шинэ хэлбэрийг тодорхойлж байна. Microsoft-ийн зорилго бол ямар хэл хэрэглэж байгаа нь гол биш, хамгийн гол нь Интернэт болон Windows application-ийг хурдан, хялбар хєгжvvлэх юм. .NET нь системийн vйлчилгээ, ажиллагааны хєдєлгvvр (Runtime engine), ажлын хvрээ (Framework), контрол (багаж)-ыг тvлхvv анхаарч, тэдгээрийг маш єргєн сонголттойгоор хэрэглэх боломжийг Windows ба Интернэт application бvтээхэд олгож байгаа явдал юм.
.NET-ийн зарим чанарыг дурдахад:
.NET платформын хамгийн чухал нь Common Language Runtime (CLR)-ийг дууддаг явдал юм. Энэ ажиллагааны хєдєлгvvр (CLR) нь бvх нийтлэг єгєгдлийн тєрлvvд, программчлалын хэлнvvдэд хэрэглэгдэх хэлний гол бvтцийг агуулж байдаг. Цаашдаа энэ CLR нь Windows vйлдлийн системийн нэг бvрэлдэхvvн хэсэг нь болон гарах юм.
CLR бол хєгжvvлэх ажлын талбар, design-time ба run-time vеийн vйлчилгээнvvдийг агуулсан байдаг. Design-time vйлчилгээ нь Integrated Development Environment (IDE) ба маш нарийн debugger-уудыг агуулсан байдаг.
Та бvхэнд .NET –ийн салангад хэсгvvд хэрхэн бие биетэйгээ холбогдгийг харуулая.
Зураг 1. .NET Platform
.NET платформын ажиллах хамгийн бага vзvvлэлт нь Windows 32-bit–ийн vйлдлийн систем.
Message Queuing services, COM+transactions, Internet Information Server (IIS) ба Windows Management Instrumentation (WMI) зэрэг vйлчилгээний программуудийг vйлдлийн системдээ суулгаснаар бvх хэл тэдгээрийг ашиглах боломжтой болох юм. CLR нь гол классууд ба ADO.NET, ASP.NET–vvдийг агуулж байдаг. ADO.NET нь WinForm ба WebForm–ийн аль алинд хэрэглэгддэг.
CLR–лд тохирохоор бичигдсэн программууд нь одоогийн байдлаар Visual Basic, VC++, C# (шинэ хэл), Perl, Python, Eiffel г.м
.NET–д єгєгдлийн тєрлvvд нь тухайн хэлэндээ тодорхойлогддоггvй харин CLR–н гол хэсэг болон тодорхойлогдоно. Єгєгдлийн тєрєл болгон объект байдаг.
Common Type System (CTS)-д тулгуурладаг 2 Type байдаг: Value Type (утга ) & Reference Type (мэдээлэл)
Энэ 2 нь санах ойд яаж хадгалагддагаараа ялгаатай юм. Value Type нь яг тэр мэдээлэл, утгатай єєртэй нь харицана. Харин Reference Type нь заагчийн адил санах ойн хаана нэгэн газар байгаа объектыг мэдээллэнэ.
CTS нь тєрєл бvрийн олон Type-г агуулсан бєгєєд эдгээр нь тус бvрдээ утга юмуу reference-р нь янз бvрийн єгєгдлийг тодорхойлоход хэрэглэгдэнэ.
Intrinsic буюу Built in єгєгдлийн тєрєл нь тус тус value type юм. Учир нь тэд єгєгдлийг хадгална.
Зарим тєрлvvдийг дурьдвал:
Техникийн талаас нь авч vзвэл класс бvхэн нь type юм. Та vvнийг цаашид vзэх болно
Энэ хvснэгт vндсэн тєрлийн системийн Intrinsic буюу Built in єгєгдлийн тєрлийн талаар мэдээлэл єгнє.
| Єгєгдлийн тєрєл | Тайлбар | Хэл хэрэглэх нь |
|---|---|---|
| Byte | 8 bit тэмдэггvй бvхэл тоо | Visual Basic – byte; C# - byte; VC++ - Char; |
| Sbyte | 8 bit бvхэл тоо | Visual Basic – NA; C# - sbyte; VC++ - Signed char; |
| Int16 | 16 bit бvхэл тоо | Visual Basic – Short; C# - short; VC++ - short; |
| Int32 | 32 bit бvэл тоо | Visual Basic – Integer; C# - int; C++ - int эсвэл long |
| Int64 | 64 bit бvхэл тоо | Visual Basic – Long; C# - long; VC++ - int64 |
| Unint16 | 16 bit тэмдэггvй бvхэл тоо | Visual Basic – NA; C# - ushort; VC++ - unsigned short; |
| Uint32 | 32 bit тэмдэггvй бvхэл тоо | Visual Basic – NA; C# - uint; VC++ - unsigned int эсвэл unsignned long; |
| Uint64 | 64 bit тэмдэггvй бvхэл тоо | Visual Basic – NA; C# - ulong; VC++ - unsigned int64; |
| Single | 32 bit бутархай тоо | Visual Basic – Single; C# - float; VC++ - float; |
| Double | 64 bit бутархай тоо | Visual Basic – Double; C# - double; VC++ - double; |
| Boolean | True (1) эсвэл False (0) | Visual Basic – Boolean; C# - bool; VC++ - bool; |
| Object | класс буюу єгєгдлийн тєрєл авч чадах vндсэн тєрєл. | Visual Basic – Object; C# - object; VC++ - Object; |
| Char | Unicode тэмдэгт (16 bit) | Visual Basic – Char; C# - Char; VC++ - _wchar_t; |
| String | Unicode тэмдэгтvvдийн дараалал | Visual Basic – String; C# - string; VC++ - String; |
| Decimal | 96 bit–ийн аравтийн утга | Visual Basic – Decimal; C# - decimal; VC++ - Decimal; |
Хvснэгт 1: Єгєгдлийн тєрєл
.Net нь byte, integer г.м. тєрєл бvрийн Type-г тодорхойлох бєгєєд бvх ялгаатай хэлvvд эдгээр Type-vvдийг єєртєє хамаарах keyword юмуу identifier ашиглан хэрэглэж болно . Жишээлбэл: System.Byte-.Net-ийн дор орших єгєгдлийн тєрєл нь VB.Net болон C #-н али алинд нь ашиглагдана. System.Sbyte нь тэмдэгт байт єгєгдлийн тєрлийг VB.Net нь дэмждэггvй бол, C#-д хvчинтэй байдаг.
Класс нь доорх хэсгvvдээс бvрддэг:
Kлассыг тодорхойлохдоо, scoping, instantiation specification-уудыг (хаана харагдах болон, яаж тухайн класс type-тай объектыг vvсгэх, євлєгдсєн (derived) класс vvсгэж болох эсэх зэргийг тодорхойлж єгєхєд хэрэглэгдэх) хамтад нь тодорхойлдог.
Бvх .Net хэлнvvд нь, ямар compiler ашиглаж байгаагаас vл хамааран, адилхан Intermediate Language-д хєрвvvлэгдэнэ.
Intermediate Language -д хєрвvvлэгдсний дараа, Common Language Runtime undefined (CLR)-н тусламжтайгаар машины кодод хєрвvvлэгддэг.
Intermediate Language нь Java-гийн ByteCode-той тєстэй боловч, 1 том ялгаа нь .Net нь зєвхєн Windows дээр ажилладагт оршино. Java-гийн ByteCode нь тєрєл бvрийн систэм дээр ажилллах чадвартай. Бас нэг ялгаа нь, Java-н byteCode нь зєвхєн Java хэл дээр бичигдсэн байх ёстой байдаг бол, .Net нь тєрєл бvрийн хэл дээр бичигдэн, хоорондоо хамтран нэгдэж undefined (interoperability) ажиллаж чаддаг юм. vvгээрээ .Net нь давуу юм.
.Net framework-ийн vндсэн зарим namespace-vvд нь:
Тухайлбал, System namespace нь vндсэн системийн классуудыг тодорхойлоход ашиглагдана.
.NET платформыг ашиглан хэд хэдэн єєр тєрлийн application хєгжvvлж болно. Yvнд:
ASP.NET нь WebForms ба WebServices–ийн аль алинийг нь багтааж байдаг.
Сервер талын контролууд нь маш уян хатан, єгєгдлийн баазтай холбогдох чадвартай ба гараар бичиж чадамгvй их HTML кодуудыг vvсгэж байдаг. Энэ сервер талын контролууд нь HTML 3.2 дээр vvсэж, UI-г сонгох боломжтой Internet explorer-ийн єргєтгєлvvдийг агуулж чаддаг.
Web Service–ийн тусламжтайгаар хийж болох зарим зvйлс:
.NET Framework-д нэмэгдсэн нэгэн шинэ vйлчилгээ бол єгєгдєлтэй харицах шинэ загвар юм. Энэ загвар нь ADO.NET юм.
Ємнєх ADO ба ADO.NET хоёр нь хоорондоо маш их ялгаатай. Энэ 2-ийн гол ялгаа нь єгєгдлийг баазаас уншсаны дараа санах ойд хэрхэн хадгалдагт байгаа юм.
Ємнєх ADO нь recordset–ийг хоёртын форматаар хадгалдаг байсан бол ADO.NET нь XML-ээр хадгалдаг. Мєн єєр нэг том ялгаа бол ADO.NET нь disconnected юм.
Энэ нь ADO.NET нь єгєгдлийг уншсаны дараа connection (холболт)-г хадгалдаггvй гэсэн vг болно.
Хэд хэдэн шинэ объектууд нэмэгдсэн. Yvнд: ADOCommand, ADODataSetCommand, ADODataReader ба DataSet орно. Recordset нь бичлэгvvдээ ADODataReader эсвэл DataSet-ээс уншдаг.
DataSet нь хэд хэдэн хvснэгтийг нэг объект руу унших боломж олгодог. Ингэснээр санах ойд хvснэгтvvдийг хооронд нь холбох (Relationship), нэмэх, устгах, засварлах боломжтой болох ба єгєгдлийн бааз руу хадгалах боломжтой болно. ADO.NET нь XML–ээс уншиж, бичиж чадна. Мєн OLEDB буюу бусад provider–уудийг хэрэглэдэг.