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 г.м

 

Нийтлэг тєрлийн систем (Common Type System)

.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дийг дурьдвал:

  1. Class тєрєл
  2. Structure тєрєл
  3. Interface тєрєл
  4. Enumeration тєрєл
  5. Delegation тєрєл

Техникийн талаас нь авч 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;
NA-хэрэглэдэггүй

Х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рддэг:

  1. Property
  2. Fields
  3. Methods
  4. Events

Kлассыг тодорхойлохдоо, scoping, instantiation specification-уудыг (хаана харагдах болон, яаж тухайн класс type-тай объектыг vvсгэх, євлєгдсєн (derived) класс vvсгэж болох эсэх зэргийг тодорхойлж єгєхєд хэрэглэгдэх) хамтад нь тодорхойлдог.

Compilers, Assemblies болон Microsoft Intermediate Language

Vндсэндээ .Net комплярын vр дvнд vvсэх binary (хоёртын) нь assembly болно. Бинари нь .EXE болон .DLL єргєтгєлтэй файл болж vvсгэгдэнэ. Энэ 2-н аль нь ч бай хамаагvй, бинари нь MSIL Instruction-уудын нийлбэр юм.
Ингэхлээр, та .Net дээр application хийхдээ, assembly-гаа бас давхар хийж байгаа гэсэн vг болох нь. Assembly нь MSIL-г дотроо агуулж байдаг юм.

Б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 нь давуу юм.

Namespaces

Framework-н бvхий л vндсэн суурь (base) классууд нь NameSpace дотор байрлана. Энэ нь танд эдгээр классуудад хандаж, vр дvнтэйгээр хэрэглэхэд зориулагдана.
Мєн та єєрийн классуудыг vvсгэхдээ єєрийн Namespace-г vvсгэж болно. Ингэснээр та хоорондоо харилцан холбоотой классуудын бvлгийг бий болгоно. Жишээ дурьдвал, та Account гэдэг класстай байжээ. Account класс олон тєрлийн vvрэг гvйцэтгэх шаардлагатай байг. Тєлбєрийн Account болон Орлогын Account-ууд байх хэрэгтэй бєгєєд эдгээр нь тус тусдаа єєр єєр vйлдэл гvйцэтгэх шаардлагатай vед, та энэ 2 классаа 2 єєр тєрлийн Namespace-д байрлуулж болно. Ингэснээр хоёулаа адилхан Account нэртэй боловч 2 ондоо класс бий болох юм.

.Net framework-ийн vндсэн зарим namespace-vvд нь:

  1. System
  2. System.IO
  3. System.Security
  4. System.Threading
  5. System.Net
  6. System.XML
  7. System.Windows.Forms

Тухайлбал, System namespace нь vндсэн системийн классуудыг тодорхойлоход ашиглагдана.

 

.NET Application–ний тєрєл

.NET платформыг ашиглан хэд хэдэн єєр тєрлийн application хєгжvvлж болно. Yvнд:

 

Windows Applications

Windows application нь Windows vйлдлийн системд ажиллах хэрэглээний программ vvсгэхэд зориулагдсан. Энэ нь WinForms–ийг ашиглан user interface (UI) vvсгэнэ. Мєн Windows application нь Client/Server єгєгдлийн бааз application, тоотой харьцах контрол, график программуудад маш тохирсон.

WinForms

Windows Forms–ийг CLR–ийн аль ч хэлэнд vvсгэх боломжтой ба тэдгээр WinForms нь хоорондоо хялбар холбогддог. Мєн WinForms нь маш олон тєрлийн vндсэн контрол агуулсан ба хэрэглэгч єєрийн контролыг хялбар vvсгэх боломжтой.

Windows Services

Windows Service нь программ ба энэ нь Windows NT, Windows 2000 Server–vvд ба дээшхи хувилбарууд дээр ажиллана. Windows Service программууд нь хэрэглэгчтэй харилцахгvйгээр єєрєє vйлчилгээ явуулж байдаг ба vйлдлийн систэм ачаалагдахад хамт ачаалагддаг. .NET дээр та энэ тєрлийн application-уудыг амархан vvсгэх боломжтой.

Web Applications

Web Application нь HTML хуудсуудыг агуулсан байдаг ба вэб сервер дээр ажилладаг, Энэ нь user interface–тэй ба мєн user interface–гvй байж болно.

ASP.NET

Та бvхэн ASP(Active Server Page)–ийr мэдэх биз ээ. ASP.NET нь тvvний сайжруулсан хувилбар юм. Хэрэв танд ємнєх ASP код байгаа бол тvvнийгээ ASP.NET–рvv хялбархан хєрвvvлж болно. ASP ба ASP.NET нь нэгэн IIS дээр зохицон ажиллаж чаддаг.
ASP.NET сайжруулсан vйлчилгээнvvдээр хангагдсан. Жишээ нь:

ASP.NET нь WebForms ба WebServices–ийн аль алинийг нь багтааж байдаг.

Web Forms

WebForms нь интернэтийн WinForms гэсэн vг юм. Интернэтэд байрлах UI (дэлгцэнд харагдах байдал)-г WebForms–ийн тусламжтайгаар бvтээнэ. Visual Studio IDE дээр HTML кодуудыг ашиглан бvтээсэн HTML контролуудыг WebForms–д хэрэглэдэг. Мєн HTML vvсгэх сервер талын контролуудыг хэрэглэж болно.

Сервер талын контролууд нь маш уян хатан, єгєгдлийн баазтай холбогдох чадвартай ба гараар бичиж чадамгvй их HTML кодуудыг vvсгэж байдаг. Энэ сервер талын контролууд нь HTML 3.2 дээр vvсэж, UI-г сонгох боломжтой Internet explorer-ийн єргєтгєлvvдийг агуулж чаддаг.

Web Service

HTTP байрлалаас дуудагдсан vйлдлvvд нь Web Service–ийн тусламжтайгаар биелэгддэг. ХМL, SOAP нар нь тухайн vйлчилгээнvvдийг vзvvлдэг хэрэгсэлvvд юм. .NET–д XML буюу SOAP–г хэрэглэх эсвэл тvvний талаарх тодорхойлолтийг олж vзэхгvй. Харин байгуулах классуудийг хэрэглэх ба Web Service–ээ байгуулах л хэрэгцээ гарна.

Web Service–ийн тусламжтайгаар хийж болох зарим зvйлс:


 

ADO.NET

.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–уудийг хэрэглэдэг.

 

дээшээ буцах |