ΠšΠ°Ρ€ΠΊΠ°Ρ framework net это: ΠšΠ°Ρ€ΠΊΠ°Ρ Framework .Net это: — ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° вопрос β„–167355

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

1. Net Framework – Π΅Π΄ΠΈΠ½Ρ‹ΠΉ каркас срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда clr. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. УправляСмый ΠΈ нСуправляСмый ΠΊΠΎΠ΄. Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора.

2. УправляСмый ΠΈ нСуправляСмый ΠΊΠΎΠ΄. .Net Framework: особСнности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ .Net Framework. ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ установки Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

3. Единство каркаса Framework .Net. ВстроСнныС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΈ структурныС Ρ‚ΠΈΠΏΡ‹.

Π’ каркасС Framework .Net ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°:

β€’ статичСский — FCL (Framework Class Library) — Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов каркаса;

β€’ динамичСский — CLR (Common Language Runtime) — ΠΎΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ срСду.

ΠšΠ°Ρ€ΠΊΠ°Ρ стал Π΅Π΄ΠΈΠ½Ρ‹ΠΌ для всСх языков срСды. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ‹ языкС программирования Π½Π΅ вСлась Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ классы ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. МногиС классы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π΅ ядро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всСми языками. ΠžΡ‚ΡΡŽΠ΄Π° Сдинство интСрфСйса прилоТСния, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ‹ языкС ΠΎΠ½ΠΎ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ, Сдинство Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Сдинство связывания с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ прочая ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π’Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL стали классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅

ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ — Ρ‚Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ встроСнными Π² язык программирования. Π’ΠΈΠΏΡ‹ каркаса ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ всС мноТСство встроСнных Ρ‚ΠΈΠΏΠΎΠ², Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² языках программирования. Π’ΠΈΠΏΡ‹ языка программирования ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ каркаса. Π’ΠΈΠΏ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π² языкС Visual Basic — Integer, Π° Π² языкС C# — int, проСцируСтся Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ каркаса System.Int32.

Π§Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ стали Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС встроСнныС Ρ‚ΠΈΠΏΡ‹, Π½ΠΎ ΠΈ структурныС Ρ‚ΠΈΠΏΡ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… — строки, массивы, пСрСчислСния, структуры (записи).

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ языков программирования, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Visual Studio .Net, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ языкС MSIL (Microsoft Intermediate Language), Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Π΄Π°Π»Π΅Π΅ просто — IL. ЀактичСски компиляторы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ управляСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ — пСрСносимый исполняСмый Ρ„Π°ΠΉΠ» (Portable Executable ΠΈΠ»ΠΈ PE-Ρ„Π°ΠΉΠ»). Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» содСрТит ΠΊΠΎΠ΄ Π½Π° IL ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ — всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ для CLR, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. О ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… — Π²Π°ΠΆΠ½ΠΎΠΉ Π½ΠΎΠ²ΠΈΠ½ΠΊΠ΅ Framework .Net — ΠΌΡ‹ Π΅Ρ‰Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Π’ зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, PE-Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ уточнСния exe, dll, mod ΠΈΠ»ΠΈ mdl.

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, PE-Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½ΠΈΠ΅ exe, хотя ΠΈ являСтся exe-Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π½ΠΎ это Π½Π΅ совсСм ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ, исполняСмый Windows, Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈ Π΅Π³ΠΎ запускС ΠΎΠ½ распознаСтся ΠΊΠ°ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ PE-Ρ„Π°ΠΉΠ» ΠΈ пСрСдаСтся CLR для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠ΄ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ спСцифика исходного языка программирования исчСзла. Код Π½Π° IL Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ CLR (ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΊΠΎΠ΄ называСтся управляСмым). Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ срСду ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ΅ΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ IL-ΠΌΠ°ΡˆΠΈΠ½Ρƒ. Π­Ρ‚Π° машина транслируСт «Π½Π° Π»Π΅Ρ‚Ρƒ» Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для исполнСния участки ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ выполняСт ΠΊΠΎΠ΄.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ построСния CLR являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ входящих Π² Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² трансляторов, ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΌ самым ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρƒ. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² CLR — сборщик мусора (Garbage Collector). Под сборкой мусора понимаСтся освобоТдСниС памяти, занятой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стали бСсполСзными ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Π΅ прилоТСния.

Framework .Net — Π΅Π΄ΠΈΠ½Ρ‹ΠΉ каркас срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ каркасС Framework .Net ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π° основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°:

  • статичСский — FCL (Framework Class Library) — Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов каркаса;

  • динамичСский — CLR (Common Language Runtime) — ΠΎΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ срСду.

    1. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов fcl — статичСский ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ каркаса

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ каркаса ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — Framework Applications — появилось достаточно Π΄Π°Π²Π½ΠΎ, ΠΎΠ½ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎ использовалось Π΅Ρ‰Π΅ Π² Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΉ вСрсии Visual Studio. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов MFC (Microsoft Foundation Classes) ΠΈΠ³Ρ€Π°Π»Π° Ρ€ΠΎΠ»ΡŒ каркаса ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Visual C++.

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ каркас Π±Ρ‹Π» прСдставлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ статичСским ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ, ΡƒΠΆΠ΅ Ρ‚ΠΎΠ³Π΄Π° Π±Ρ‹Π»Π° ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π° Π΅Π³ΠΎ Ρ€ΠΎΠ»ΡŒ Π² построСнии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π£ΠΆΠ΅ Π² Ρ‚ΠΎ врСмя ваТнСйшСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ классов MFC ΠΈΠΌΠ΅Π»ΠΈ классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ строящихся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Π» ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Document-View, Ρ‚ΠΎ Π² Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ автоматичСски Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π»ΠΈΡΡŒ класс Document, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ структуру Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ класс View, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС. Класс Form ΠΈ классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты управлСния, обСспСчивали Π΅Π΄ΠΈΠ½Ρ‹ΠΉ интСрфСйс ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Выбирая Ρ‚ΠΈΠΏ прилоТСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π» Π½ΡƒΠΆΠ½ΡƒΡŽ Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ классами каркаса.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ для программистов классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ систСму Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π² частности, динамичСскиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — списки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ, ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.

Π—Π° ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ Ρ€ΠΎΠ»ΡŒ каркаса Π² построСнии ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ сущСствСнно возросла — ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π·Π° счСт появлСния Π΅Π³ΠΎ динамичСского ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅. Π§Ρ‚ΠΎ ΠΆΠ΅ касаСтся статичСского ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° — Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов, Ρ‚ΠΎ здСсь появился ряд Π²Π°ΠΆΠ½Ρ‹Ρ… Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ.

    1. Единство каркаса

ΠšΠ°Ρ€ΠΊΠ°Ρ стал Π΅Π΄ΠΈΠ½Ρ‹ΠΌ для всСх языков срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ‹ языкС программирования Π½Π΅ вСлась Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с классами ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. МногиС классы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ‰Π΅Π΅ ядро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всСми языками. ΠžΡ‚ΡΡŽΠ΄Π° Сдинство интСрфСйса прилоТСния, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ‹ языкС ΠΎΠ½ΠΎ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ, Сдинство Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Сдинство связывания с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ прочая ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

    1. ВстроСнныС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π’Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL стали классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ — Ρ‚Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ встроСнными Π² язык программирования. Π’ΠΈΠΏΡ‹ каркаса ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ основноС мноТСство встроСнных Ρ‚ΠΈΠΏΠΎΠ², Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² языках программирования. Π’ΠΈΠΏΡ‹ языка программирования ΠΏΡ€ΠΎΠ΅Ρ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ каркаса. Π’ΠΈΠΏ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π² языкС Visual Basic — Integer, Π° Π² языках Π‘++ ΠΈ C# — int, проСцируСтся Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ‚ΠΈΠΏ каркаса — System.Int32. Π’ языкС программирования, наряду с «Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ» для языка названиями Ρ‚ΠΈΠΏΠΎΠ², Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠΎΠ², принятыми Π² каркасС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎ сути, всС языки срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΉ систСмой встроСнных Ρ‚ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, способствуСт ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΡŽ взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках.

    1. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹

Π§Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ стали Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС встроСнныС Ρ‚ΠΈΠΏΡ‹, Π½ΠΎ ΠΈ структурныС Ρ‚ΠΈΠΏΡ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… — строки, массивы; динамичСскиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — стСки, ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ, списки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ способствуСт ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ сблиТСнию языков программирования.

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ .NET

  • Π§Ρ‚Π΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ 2Β ΠΌΠΈΠ½

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET FrameworkΒ β€” это тСхнология, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ созданиС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π΅Π±-слуТб ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ†Π΅Π»ΠΈ.

  • ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ согласованной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСды программирования для локального сохранСния ΠΈ выполнСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, для локального выполнСния ΠΊΠΎΠ΄Π°, распрСдСлСнного Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Π»ΠΈΠ±ΠΎ для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ выполнСния.

  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ срСды выполнСния ΠΊΠΎΠ΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ:

    • свСдСна ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π² процСссС развСртывания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ управлСния Π΅Π³ΠΎ вСрсиями;

    • гарантируСтся бСзопасноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ΄, созданный нСизвСстным ΠΈΠ»ΠΈ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ сторонним ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»Π΅ΠΌ;

    • ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ срСд выполнСния скриптов ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°;

  • ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΅Π΄ΠΈΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ прилоТСния Windows ΠΈ Π²Π΅Π±-прилоТСния;

  • обСспСчиваСтся взаимодСйствиС Π½Π° основС ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… стандартов, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ . NET Framework с Π»ΡŽΠ±Ρ‹ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅

.NET Framework 4.8Β β€” это послСдняя вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework. Выпуск ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… вСрсий Π½Π΅ планируСтся. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, обслуТиваниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… СТСмСсячных исправлСний бСзопасности ΠΈ надСТности. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² состав Windows ΠΈ Π½Π΅ планируСтся ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ. ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ прилоТСния .NET Framework Π½Π΅ трСбуСтся, ΠΎΠ΄Π½Π°ΠΊΠΎ для Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NETΒ 5.0 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½ΠΈΡ… вСрсий.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework состоит ΠΈΠ· общСязыковой срСды выполнСния (срСды CLR) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов .NET Framework. Основой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework являСтся срСда CLR. Π‘Ρ€Π΅Π΄Ρƒ выполнСния ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π°Π³Π΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт ΠΊΠΎΠ΄ΠΎΠΌ Π²ΠΎ врСмя выполнСния ΠΈ прСдоставляСт основныС слуТбы, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ взаимодСйствиС. ΠŸΡ€ΠΈ этом срСдой Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ условия строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ точности ΠΊΠΎΠ΄Π°, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ.

ЀактичСски основной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ срСды выполнСния являСтся ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ. Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обращаСтся ΠΊ срСдС выполнСния, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ управляСмым ΠΊΠΎΠ΄ΠΎΠΌ, Π° ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ обращаСтся ΠΊ срСдС выполнСния, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ нСуправляСмым ΠΊΠΎΠ΄ΠΎΠΌ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов являСтся комплСксной ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ β€” начиная с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, запускаСмых ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с графичСским интСрфСйсом (GUI) ΠΈ заканчивая прилоТСниями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌΠΈ послСдниС тСхнологичСскиС возмоТности ASP.NET, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Π΅Π±-слуТбы XML.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ нСуправляСмыми ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ срСду CLR Π² собствСнныС процСссы ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ управляСмого ΠΊΠΎΠ΄Π°, создавая Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ срСду, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдства ΠΊΠ°ΠΊ управляСмого, Ρ‚Π°ΠΊ ΠΈ нСуправляСмого выполнСния. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прСдоставляСт нСсколько Π±Π°Π·ΠΎΠ²Ρ‹Ρ… срСд выполнСния, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… срСд выполнСния нСзависимыми производитСлями.

НапримСр, ASP.NET Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ срСду выполнСния ΠΈ обСспСчиваСт ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ срСду для управляСмого ΠΊΠΎΠ΄Π° Π½Π° сторонС сСрвСра. ASP.NET Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСпосрСдствСнно со срСдой выполнСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ASP.NET ΠΈ Π²Π΅Π±-слуТб XML, обсуТдаСмых Π½ΠΈΠΆΠ΅ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅.

ΠžΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Internet Explorer ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ нСуправляСмого прилоТСния, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ срСду выполнСния (Π² Π²ΠΈΠ΄Π΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠΎΠ² MIME). Π Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ срСды выполнСния Π² ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»Π΅ Internet Explorer позволяСт Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ управляСмыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ элСмСнты управлСния Windows Forms Π² HTML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹. Π’Π°ΠΊΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ срСды позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ управляСмый ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΅Π³ΠΎ сущСствСнными прСимущСствами, Π² частности Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π² условиях Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ довСрия ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ².

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС дСмонстрируСтся взаимосвязь срСды CLR ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ прилоТСниями ΠΈ всСй систСмой. На рисункС Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ управляСмый ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… приводится Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС основных возмоТностСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework.

ВозмоТности срСды CLR

Π‘Ρ€Π΅Π΄Π° CLR управляСт ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ бСзопасности ΠΊΠΎΠ΄Π°, компиляциСй ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмными слуТбами. Π­Ρ‚ΠΈ срСдства ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ для управляСмого ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π² срСдС CLR.

По сообраТСниям бСзопасности управляСмым ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹Π΅ стСпСни довСрия, зависящиС ΠΎΡ‚ ряда Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Π² число ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… происхоТдСниС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΡΠ΅Ρ‚ΡŒ прСдприятия ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ управляСмый ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ»ΠΈ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ доступа ΠΊ рССстру ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π‘Ρ€Π΅Π΄Π° выполнСния Ρ‚Π°ΠΊΠΆΠ΅ обСспСчиваСт Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, рСализуя инфраструктуру строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ систСмой ΠΎΠ±Ρ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² (CTS). БистСма ΠΎΠ±Ρ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² обСспСчиваСт самоописаниС всСго управляСмого ΠΊΠΎΠ΄Π°. Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ языковыС компиляторы ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft ΠΈ нСзависимых ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»Π΅ΠΉ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ управляСмый ΠΊΠΎΠ΄, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ систСмС ΠΎΠ±Ρ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² . Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ управляСмый ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ управляСмыС Ρ‚ΠΈΠΏΡ‹ ΠΈ экзСмпляры, ΠΏΡ€ΠΈ этом обСспСчивая ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, управляСмая срСда выполнСния ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм. НапримСр, срСда выполнСния автоматичСски управляСт Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ссылками Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, освобоТдая ΠΈΡ…, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ большС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. АвтоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π΄Π²Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ошибки ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ: ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти ΠΈ Π½Π΅Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ссылки Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π‘Ρ€Π΅Π΄Π° выполнСния Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². НапримСр, программисты ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ языкС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС прСимущСства срСды выполнСния, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках. Π­Ρ‚ΠΎ доступно Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ компиляторов, ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΊ срСдС выполнСния. Π―Π·Ρ‹ΠΊΠΎΠ²Ρ‹Π΅ компиляторы, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework, Π΄Π΅Π»Π°ΡŽΡ‚ срСдства .NET Framework доступными для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π°, написанного Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… языках, сущСствСнно облСгчая процСсс пСрСноса ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π₯отя срСда выполнСния Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»Π°ΡΡŒ для Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сСгодняшнСС ΠΈ Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. ВзаимодСйствиС управляСмого ΠΈ нСуправляСмого ΠΊΠΎΠ΄ΠΎΠ² позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ COM ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ DLL.

Π‘Ρ€Π΅Π΄Π° выполнСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π₯отя общСязыковая срСда выполнСния прСдоставляСт ΠΌΠ½ΠΎΠ³ΠΈΠ΅ стандартныС слуТбы Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния, управляСмый ΠΊΠΎΠ΄ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ интСрпрСтируСтся. БрСдство компиляции ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ (JIT) позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ вСсь управляСмый ΠΊΠΎΠ΄ Π½Π° машинном языкС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, Π³Π΄Π΅ ΠΎΠ½ запускаСтся. ΠœΠ΅ΠΆΠ΄Ρƒ Ρ‚Π΅ΠΌ диспСтчСр памяти устраняСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ памяти ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ объСм адрСсуСмой памяти для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

НаконСц, срСда выполнСния ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… сСрвСрных прилоТСниях, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Microsoft SQL Server ΠΈ слуТбы IIS (Internet Information Services). Вакая инфраструктура позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ управляСмый ΠΊΠΎΠ΄ для написания собствСнной Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ»ΡŒΠ·ΡƒΡΡΡŒ ΠΏΡ€ΠΈ этом Π²Ρ‹ΡΠΎΡ‡Π°ΠΉΡˆΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π»ΡƒΡ‡ΡˆΠΈΡ… производствСнных сСрвСров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ срСды выполнСния.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов .NET Framework

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework прСдставляСт собой ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тСсно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ со срСдой CLR. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ. Она прСдоставляСт Ρ‚ΠΈΠΏΡ‹, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… управляСмый ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ .NET Framework, Π½ΠΎ ΠΈ сокращаСт врСмя изучСния Π½ΠΎΠ²Ρ‹Ρ… срСдств ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ нСзависимых ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ с классами ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET Framework.

НапримСр, Π² классах ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ . NET Framework рСализуСтся Π½Π°Π±ΠΎΡ€ интСрфСйсов для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… классов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ классы ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ с классами .NET Framework.

Как ΠΈ оТидаСтся ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов, Ρ‚ΠΈΠΏΡ‹ .NET Framework ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ программирования, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ со строками, сбор Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ этим ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‡Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов содСрТит Ρ‚ΠΈΠΏΡ‹, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ спСциализированныС сцСнарии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NET Framework для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ слуТб:

ΠšΠ»Π°ΡΡΡ‹ Windows Forms ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ², сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ графичСских интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Windows. ΠŸΡ€ΠΈ написании прилоТСния Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌ ASP.NET ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ классы Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌ.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C# — тСст 1

Главная / ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ / ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C# / ВСст 1 Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 1:
НомСр 1
На ΠΊΠ°ΠΊΠΈΡ… языках программирования ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Visual Studio . Net?

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° языкС C#&nbsp

&nbsp(2) Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… языках — Visual C++, C#, Visual Basic, J#&nbsp

&nbsp(3) число языков Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ&nbsp



НомСр 2
ΠšΠ°Ρ€ΠΊΠ°Ρ Framework .Net это:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) надстройка Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, прСдназначСнная для выполнСния управляСмого ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сборок, построСнных компиляторами Visual Studio .Net&nbsp

&nbsp(2) транслятор JIT, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, написанных Π½Π° языкС MSIL&nbsp

&nbsp(3) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ компилятором&nbsp

&nbsp(4) Π½Π°Π±ΠΎΡ€ классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ построСнии самой Visual Studio . Net&nbsp



Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 2:
НомСр 1
ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ истинныС высказывания:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) для языков программирования, входящих Π² Visual Studio .Net, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ компилятор ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов FCL &nbsp

&nbsp(2) для языков программирования, входящих Π² Visual Studio .Net, всС компиляторы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов FCL &nbsp

&nbsp(3) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов FCL являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Visual Studio .Net&nbsp

&nbsp(4) Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов FCL являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ каркаса Framework . Net, ΠΎΡ‚Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ Visual Studio&nbsp



НомСр 2
ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ истинныС высказывания:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) Для Visual Studio .Net Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ компиляторов для Ρ€Π°Π·Π½Ρ‹Ρ… языков программирования ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ компилятор Π² состав ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΈΠΌ студии&nbsp

&nbsp(2) компилятор C# транслируСт исходный тСкст Π² ΠΊΠΎΠ΄ Π½Π° языкС IL&nbsp

&nbsp(3) CLS-совмСстимый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° любом языкС программирования Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ .NET&nbsp



Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 3:
НомСр 1
Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ CLS Π·Π°Π΄Π°ΡŽΡ‚:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) спСцификации, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² трансляторов&nbsp

&nbsp(2) спСцификации модуля, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для использования Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования&nbsp

&nbsp(3) спСцификации, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ бСзусловно Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ программистами, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌΠΈ Π² срСдС Visual Studio . Net&nbsp

&nbsp(4) спСцификации для программистов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π½Π° языкС C#&nbsp



НомСр 2
Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора Garbage Collector это:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ компилятора&nbsp

&nbsp(2) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Visual Studio&nbsp

&nbsp(3) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Framework .Net&nbsp



НомСр 3
JIT - это:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) компилятор ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· языков, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π² состав Visual Studio&nbsp

&nbsp(2) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды CLR&nbsp

&nbsp(3) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ компилятора C#&nbsp

&nbsp(4) компилятор, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ сборщиком мусора&nbsp



Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 4:
НомСр 1
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° C#:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написан ΠΈ скомпилирован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² срСдС Visual Studio . Net&nbsp

&nbsp(2) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан Π² любом тСкстовом Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ ΠΈ скомпилирован Π±Π΅Π· использования Visual Studio .Net&nbsp

&nbsp(3) ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написан ΠΈ скомпилирован Π² любой срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅ΠΉ компилятор языка C#&nbsp



НомСр 2
Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда CLR:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) содСрТит Π½Π°Π±ΠΎΡ€ компиляторов с языков, входящих Π² состав Visual Studio&nbsp

&nbsp(2) содСрТит JIT-компилятор с ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ языка IL Π² ΠΊΠΎΠ΄ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ установлСна срСда CLR&nbsp

&nbsp(3) содСрТит сборщик мусора&nbsp



НомСр 3
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° FCL - это:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) Π½Π°Π±ΠΎΡ€ классов, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ±Ρ‰ΠΈΠ΅ для всСх языков программирования Π² нСзависимости ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹&nbsp

&nbsp(2) Π½Π°Π±ΠΎΡ€ классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… компиляторами срСды ΠΈ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… для нСпосрСдствСнного использования Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° C#&nbsp

&nbsp(3) Π½Π°Π±ΠΎΡ€ классов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΊ компиляторами, Ρ‚Π°ΠΊ ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Π½Π° C#&nbsp



Π£ΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ 5:
НомСр 1
ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ – это:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) мноТСство ΠΈΠΌΠ΅Π½, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°&nbsp

&nbsp(2) мноТСство ΠΈΠΌΠ΅Π½, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… класса&nbsp

&nbsp(3) ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, содСрТащий встроСнныС пространства ΠΈΠΌΠ΅Π½ ΠΈ классы, ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ Π² пространствС ΠΈΠΌΠ΅Π½ &nbsp



НомСр 2
ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Π²Π΅Ρ€Π½Ρ‹Π΅ высказывания:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… языка C# ΠΏΡ€ΠΈ компиляции ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… каркаса Framework . Net&nbsp

&nbsp(2) ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π² Visual Studio, соотвСтствуСт свой Π½Π°Π±ΠΎΡ€ классов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL &nbsp

&nbsp(3) ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько пространств ΠΈΠΌΠ΅Π½&nbsp



НомСр 3
ΠžΡ‚ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅ Π²Π΅Ρ€Π½ΠΎΠ΅ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅:

ΠžΡ‚Π²Π΅Ρ‚:

&nbsp(1) манифСст PE-Ρ„Π°ΠΉΠ»Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя описаниС всСх Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² Π½Π΅ΠΌ классов&nbsp

&nbsp(2) программисту Π½Π° C# всСгда приходится ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ освобоТдСниСм памяти, Π½Π΅ довСряя эту Ρ€Π°Π±ΠΎΡ‚Ρƒ сборщику мусора&nbsp

&nbsp(3) всякая ошибка Π² Ρ…ΠΎΠ΄Π΅ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡŽ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹&nbsp



ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#.

Π Π°Π·Π΄Π΅Π» β„– 4 Π Π°Π·Π΄Π΅Π» β„–4
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
По ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ
http://www.intuit.ru/studies/courses/2247/18/lecture/
Π–Π΅Ρ€Π΅Ρ‚ΠΈΠ½Ρ†Π΅Π²Π° ΠΠ°Ρ‚Π°Π»ΡŒΡ НиколаСвна ΠΊ.Ρ‚.Π½., Π΄ΠΎΡ†Π΅Π½Ρ‚ ΠΊΠ°Ρ„Π΅Π΄Ρ€Ρ‹ АИБ МИИВ
ΠœΠ“Π£ ΠΈΠΌ. Π“. И. НСвСльского
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
1
Visual Studio .Net, Framework .Net
Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ поколСния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΎΡ‚ Microsoft
ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ΠΌ .Net (читаСтся Dot Net).
Π‘Π΅Ρ‚ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ…, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…
Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ… ΠΈ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ устройства,
начиная ΠΎΡ‚ космичСских станций ΠΈ заканчивая Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. Π’
глобальном ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΌΠΈΡ€Π΅ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈΠ³Ρ€Π°ΡŽΡ‚
ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ.
Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… .Net Π·Π° этим ΠΈΠΌΠ΅Π½Π΅ΠΌ стоит
Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ содСрТаниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Π²
частности, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… стандартов ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΡƒΠΆΠ΅ созданных
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всС это Π½Π΅ΠΏΡ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. Π’Π°ΠΆΠ½ΡƒΡŽ
Ρ€ΠΎΠ»ΡŒ Π² этих тСхнологиях ΠΈΠ³Ρ€Π°Π΅Ρ‚ язык XML, ΡΡ‚Π°Π²ΡˆΠΈΠΉ
стандартом ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями Π² сСти.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
2
Visual Studio .Net, Framework .Net
Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio .Net – это срСда,
ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Π½ΠΎΠ²Ρ‹ΠΉ этап Π² создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ…
ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π’ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π΅ ваТнСйшиС ΠΈΠ΄Π΅ΠΈ:
ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ языков программирования;
ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ каркаса
срСды — Framework .Net.
Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ языковой
срСдой.
Π­Ρ‚ΠΎ
ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚,
Ρ‡Ρ‚ΠΎ
наряду
с
языками
программирования, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² срСду Ρ„ΠΈΡ€ΠΌΠΎΠΉ Microsoft
— Visual C++ .Net, Visual C# .Net, J# .Net, Visual Basic .Net,
Π²
срСду
ΠΌΠΎΠ³ΡƒΡ‚
Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ
Π»ΡŽΠ±Ρ‹Π΅
языки
программирования, компиляторы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ
Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„ΠΈΡ€ΠΌΠ°ΠΌΠΈ-производитСлями. Π’Π°ΠΊΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ
срСды Visual Studio сдСлано ΡƒΠΆΠ΅ достаточно ΠΌΠ½ΠΎΠ³ΠΎ,
практичСски ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ для всСх извСстных языков Fortran ΠΈ Cobol, RPG ΠΈ Component Pascal ΠΈ Ρ‚. Π΄.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
3
Visual Studio .Net, Framework .Net
Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio .Net – это срСда,
ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ Π½ΠΎΠ²Ρ‹ΠΉ этап Π² создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ…
ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π’ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π΅ ваТнСйшиС ΠΈΠ΄Π΅ΠΈ:
ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ языков программирования;
ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ каркаса
срСды — Framework .Net.
Π‘Ρ€Π΅Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ языковой
срСдой.
Π­Ρ‚ΠΎ
ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚,
Ρ‡Ρ‚ΠΎ
наряду
с
языками
программирования, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² срСду Ρ„ΠΈΡ€ΠΌΠΎΠΉ Microsoft
— Visual C++ .Net, Visual C# .Net, J# .Net, Visual Basic .Net,
Π²
срСду
ΠΌΠΎΠ³ΡƒΡ‚
Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ
Π»ΡŽΠ±Ρ‹Π΅
языки
программирования, компиляторы ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ
Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„ΠΈΡ€ΠΌΠ°ΠΌΠΈ-производитСлями. Π’Π°ΠΊΠΈΡ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ
срСды Visual Studio сдСлано ΡƒΠΆΠ΅ достаточно ΠΌΠ½ΠΎΠ³ΠΎ,
практичСски ΠΎΠ½ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ для всСх извСстных языков Fortran ΠΈ Cobol, RPG ΠΈ Component Pascal ΠΈ Ρ‚.Π΄.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
4
Visual Studio . Net, Framework .Net
ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΡΡ‚ΡŒ срСды ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ
компиляторов ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ языка Π² срСду
Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
Π΄ΠΎΠ»ΠΆΠ½Ρ‹
ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ
ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ
ограничСниям. Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ
ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π³Π»Π°Π²Π½Ρ‹ΠΌ достоинством, состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всС
языки, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ Π² срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Visual Studio .Net,
Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ каркас — Framework .Net.
Благодаря этому Π΄ΠΎΡΡ‚ΠΈΠ³Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅
свойства:
Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒ использования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ…
Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языках;
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… частСй ΠΎΠ΄Π½ΠΎΠ³ΠΎ
прилоТСния Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках;
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ класс Π½Π° ΠΎΠ΄Π½ΠΎΠΌ языкС, Π° Π΅Π³ΠΎ
ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² — Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
5
Visual Studio .Net, Framework .Net
Π’ каркасС Framework .Net ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Π²Π°
основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°:
статичСский — FCL (Framework Class Library) — Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ
классов каркаса;
динамичСский — CLR (Common Language Runtime) ΠΎΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ срСду.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
6
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов FCL
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов FCL – это статичСский ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚
каркаса. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π²Ρ‹Π±ΠΈΡ€Π°Π» ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…
Ρ‚ΠΈΠΏΠΎΠ² прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Document-View,
Ρ‚ΠΎ Π² Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ автоматичСски Π²ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π»ΠΈΡΡŒ класс
Document, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ структуру Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ класс View,
Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Π΅Π³ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС.
Класс Form ΠΈ классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты
управлСния,
обСспСчивали
Π΅Π΄ΠΈΠ½Ρ‹ΠΉ
интСрфСйс
ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Выбирая Ρ‚ΠΈΠΏ прилоТСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ
ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π» Π½ΡƒΠΆΠ½ΡƒΡŽ Π΅ΠΌΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ,
ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ классами каркаса. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов
ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π»Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ для программистов
классы, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΡƒΡŽ систСму Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…, Π²
частности, динамичСскиС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… — списки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ,
ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
7
Единство каркаса
ΠšΠ°Ρ€ΠΊΠ°Ρ стал Π΅Π΄ΠΈΠ½Ρ‹ΠΌ для всСх языков срСды. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ,
Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ‹ языкС программирования Π½ΠΈ вСлась
Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ классы ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅
Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. МногиС классы Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅
ΠΎΠ±Ρ‰Π΅Π΅ ядро, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ всСми языками. ΠžΡ‚ΡΡŽΠ΄Π°
Сдинство интСрфСйса прилоТСния, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ Π±Ρ‹ языкС ΠΎΠ½ΠΎ
Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ, Сдинство Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями ΠΈ
Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Сдинство связывания с
Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ
Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ
Π΄Π°Π½Π½Ρ‹Ρ…
ΠΈ
прочая
ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
8
ВстроСнныС ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹
Π’Π°ΠΆΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL стали классы,
Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈΠ»ΠΈ встроСнныС Π² язык
программирования.
Π’ΠΈΠΏΡ‹
каркаса
ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚
всС
мноТСство встроСнных Ρ‚ΠΈΠΏΠΎΠ², Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π² языках
программирования. Π’ΠΈΠΏ, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ Π² языкС Visual Basic Integer, Π° Π² языкС C# — int, проСцируСтся Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅
Ρ‚ΠΈΠΏ
каркаса
System.Int32.
Π’
ΠΊΠ°ΠΆΠ΄ΠΎΠΌ
языкС
программирования, наряду с «Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ» для языка
названиями Ρ‚ΠΈΠΏΠΎΠ², Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ
Ρ‚ΠΈΠΏΠΎΠ², принятыми Π² каркасС. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, ΠΏΠΎ сути, всС языки
срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΉ систСмой
встроСнных Ρ‚ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, способствуСт ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½ΠΈΡŽ
взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², написанных Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ…
языках.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
9
Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹
Π§Π°ΡΡ‚ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ стали Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ простыС
встроСнныС Ρ‚ΠΈΠΏΡ‹, Π½ΠΎ ΠΈ структурныС Ρ‚ΠΈΠΏΡ‹, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅
ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… — строки, массивы, пСрСчислСния,
структуры (записи). Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ способствуСт ΡƒΠ½ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ
Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌΡƒ сблиТСнию языков программирования.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
10
АрхитСктура ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
БущСствСнно
Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ»ΡΡ
Π½Π°Π±ΠΎΡ€
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ…
Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² построСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Помимо
Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Windows- ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ,
появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ построСния Web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ удСляСтся возмоТности создания
ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² — Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ
ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ элСмСнтов
управлСния ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Web-элСмСнтов управлСния.
ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½Ρ‹ΠΌ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΡΠ²Π»ΡΡŽΡ‚ΡΡ WebслуТбы, ΡΡ‚Π°Π²ΡˆΠΈΠ΅ сСгодня благодаря ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌΡƒ стандарту
ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· основных Π²ΠΈΠ΄ΠΎΠ² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ…
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Для языков C#, J#, Visual Basic,
ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Microsoft, прСдлагаСтся ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ
Π½Π°Π±ΠΎΡ€ ΠΈΠ· 12 Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
11
АрхитСктура ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
НСсколько особняком стоит Visual Π‘++, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠΉ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ FCL, Π½ΠΎ ΠΈ с
Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ MFC (Microsoft Foundation Classes) ΠΈ ATL
(Active Template Library), ΠΈ с построСниСм ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…
MFC ΠΈ ATL-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ языков, поставляСмых Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ„ΠΈΡ€ΠΌΠ°ΠΌΠΈ,
ΡΠΎΠ·Π΄Π°ΡŽΡ‚
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‚
ΠΎΠ±Ρ‰ΠΈΠΌ
трСбованиям срСды, сохраняя свою ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’Π°ΠΊ,
Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, компилятор Eiffel допускаСт созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²,
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ FCL, Ρ‚Π°ΠΊ ΠΈ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ
Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ классов.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
12
ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Число классов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL Π²Π΅Π»ΠΈΠΊΠΎ (нСсколько
тысяч). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ понадобился способ ΠΈΡ… структуризации.
ЛогичСски классы с Π±Π»ΠΈΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ
ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π³Ρ€ΡƒΠΏΠΏΡ‹, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ пространством ΠΈΠΌΠ΅Π½
(Namespace). Для динамичСского ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° CLR
физичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰Π΅ΠΉ классы ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅
рСсурсы, являСтся сборка (assembly).
ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌ пространством ΠΈΠΌΠ΅Π½ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL
являСтся пространство System, содСрТащСС ΠΊΠ°ΠΊ классы,
Ρ‚Π°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ пространства ΠΈΠΌΠ΅Π½. Π’Π°ΠΊ, ΡƒΠΆΠ΅
ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠΈΠΉΡΡ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Int32 нСпосрСдствСнно
Π²Π»ΠΎΠΆΠ΅Π½ Π² пространство ΠΈΠΌΠ΅Π½ System ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя,
Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ имя пространства — System.Int32.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
13
ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Π’ пространство System Π²Π»ΠΎΠΆΠ΅Π½ Ρ†Π΅Π»Ρ‹ΠΉ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ…
пространств ΠΈΠΌΠ΅Π½.
НапримСр,
Π²
пространствС
System.Collections
находятся классы ΠΈ интСрфСйсы, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ
с коллСкциями ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² — списками, очСрСдями, словарями.
Π’ System.Collections, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π²Π»ΠΎΠΆΠ΅Π½ΠΎ
пространство ΠΈΠΌΠ΅Π½ Specialized, содСрТащСС классы со
спСциализациСй,
Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€,
ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ,
элСмСнтами
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки.
ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ
System. Windows.Forms
содСрТит
классы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΈ создании Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Класс Form ΠΈΠ· этого пространства Π·Π°Π΄Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ — ΠΎΠΊΠ½ΠΎ,
заполняСмоС
элСмСнтами
управлСния,
Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ,
ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π΅
ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅
взаимодСйствиС
с
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
14
ΠžΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда CLR
ΠžΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда CLR – это
динамичСский ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ каркаса. Π‘ появлСниСм CLR
процСсс написания ΠΈ выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ становится
ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Π’ CLR ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ двухэтапная
компиляция.
БущСствуСт управляСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ управляСмый ΠΊΠΎΠ΄.
ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€Ρ‹ языков программирования, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π²
Visual Studio .Net, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΌ языкС
MSIL (Microsoft Intermediate Language), Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΌ Π΄Π°Π»Π΅Π΅
просто — IL. ЀактичСски компиляторы ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Ρ‚Π°ΠΊ
Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ управляСмый ΠΌΠΎΠ΄ΡƒΠ»ΡŒ — пСрСносимый
исполняСмый Ρ„Π°ΠΉΠ» (Portable Executable ΠΈΠ»ΠΈ PE-Ρ„Π°ΠΉΠ»). Π­Ρ‚ΠΎΡ‚
Ρ„Π°ΠΉΠ» содСрТит ΠΊΠΎΠ΄ Π½Π° IL ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ — всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ
ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΊΠ°ΠΊ для CLR, Ρ‚Π°ΠΊ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ,
Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
15
ΠžΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²Π°Ρ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда CLR
Π’ зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, PE-Ρ„Π°ΠΉΠ»
ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ exe, dll, mod ΠΈΠ»ΠΈ mdl.
Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, PE-Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ exe, хотя ΠΈ
являСтся exe-Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π½ΠΎ это Π½Π΅ совсСм ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ
исполняСмый Windows Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈ запускС PE-Ρ„Π°ΠΉΠ»
распознаСтся ΠΊΠ°ΠΊ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ пСрСдаСтся CLR для
ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с
ΠΊΠΎΠ΄ΠΎΠΌ,
Π²
ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ
спСцифика
исходного
языка
программирования исчСзла. Код Π½Π° IL Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚
Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ CLR (ΠΏΠΎ этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΊΠΎΠ΄
называСтся управляСмым ). Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ срСду ΠΌΠΎΠΆΠ½ΠΎ
Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ΅ΠΎΠ±Ρ€Π°Π·Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ IL-ΠΌΠ°ΡˆΠΈΠ½Ρƒ.
Π­Ρ‚Π° машина транслируСт «Π½Π° Π»Π΅Ρ‚Ρƒ» Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для
исполнСния участки ΠΊΠΎΠ΄Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ процСссора,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ выполняСт ΠΊΠΎΠ΄.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
16
Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина
ΠšΠ°Ρ€ΠΊΠ°Ρ Framework .Net пСрСстал Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ студии, Π°
стал надстройкой Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. Π’Π΅ΠΏΠ΅Ρ€ΡŒ
компиляция ΠΈ созданиС PE-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π° IL ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ ΠΎΡ‚
выполнСния, ΠΈ эти процСссы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π½Π°
Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….
Π’ состав CLR входят трансляторы JIT (Just In Time
Compiler), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ IL Π²
ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Ρ‚ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π³Π΄Π΅ установлСна ΠΈ
Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда CLR. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²
ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Microsoft Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»Π° CLR ΠΈ FCL для
Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий Windows, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Windows 98/Me/NT
4/2000, 32 ΠΈ 64-разрядныС вСрсии Windows XP ΠΈ сСмСйство
.Net Server. Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Windows CE ΠΈ Palm
Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° облСгчСнная вСрсия Framework .Net.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
17
Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина
Π’ 2001 Π³ΠΎΠ΄Ρƒ ECMA (ЕвропСйская ассоциация
ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ
ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ²)
приняла
язык
программирования C#, CLR ΠΈ FCL Π² качСствС стандарта, Ρ‚Π°ΠΊ
Ρ‡Ρ‚ΠΎ Framework . Net ΡƒΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ…
ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Windows. Он становится
свободно распространяСмой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машиной.
Π­Ρ‚ΠΎ сущСствСнно Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ сфСру Π΅Π³ΠΎ примСнСния.
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… компиляторов ΠΈ срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ‚Π°ΠΊΠΆΠ΅
Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΊΠΎΠ΄ Π² IL, создавая ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π²
соотвСтствии со спСцификациями CLR. Π­Ρ‚ΠΎ обСспСчиваСт
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΈΡ… ΠΊΠΎΠ΄Π° Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
18
Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина
Microsoft использовала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½ΠΈΠ΅
ΠΎΠΏΡ‹Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Java, ΡƒΠ»ΡƒΡ‡ΡˆΠΈΠ² процСсс Π·Π° счСт
Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Java, ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π½Π΅
интСрпрСтируСтся ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдой, Π° компилируСтся
с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ всСх особСнностСй Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
Благодаря этому ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅
прилоТСния.
Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ CLR, работая с IL-ΠΊΠΎΠ΄ΠΎΠΌ,
выполняСт достаточно ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅
ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΠΎ, Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΊΠΎΠ΄Π°. Π—Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ нСцСлСсообразно
Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ создания IL-ΠΊΠΎΠ΄Π° — ΠΎΠ½Π°
ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ, Π° ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ΡŒ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, Π½Π΅ давая
CLR провСсти ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ
ΡƒΡ‡Π΅ΡΡ‚ΡŒ Π΄Π°ΠΆΠ΅ особСнности процСссора.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
19
ДизассСмблСр ΠΈ ассСмблСр
Если Ρƒ вас Π΅ΡΡ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ PE-Ρ„Π°ΠΉΠ», Ρ‚ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ
Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ IL-ΠΊΠΎΠ΄ ΠΈ связанныС с Π½ΠΈΠΌ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. Π’
состав Framework SDK Π²Ρ…ΠΎΠ΄ΠΈΡ‚ дизассСмблСр — ildasm,
Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ
дизассСмблированиС
PE-Ρ„Π°ΠΉΠ»Π°
ΠΈ
ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ
ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅,
Π°
Ρ‚Π°ΠΊΠΆΠ΅
IL-ΠΊΠΎΠ΄
с
коммСнтариями Π² наглядной Ρ„ΠΎΡ€ΠΌΠ΅. ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π°
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ дизассСмблирования. Π’ΠΎΡ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ
ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится дизассСмблСр:
C:\Program Files\Microsoft Visual Studio .Net\FrameworkSDK\Bin\ildasm.exe
ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»Ρ‹, ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ
ΡƒΡ€ΠΎΠ²Π½Π΅, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° языкС ассСмблСра IL. Π’
этом случаС Π² ΠΈΡ… распоряТСнии Π±ΡƒΠ΄Π΅Ρ‚ вся ΠΌΠΎΡ‰ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ
FCL ΠΈ всС возмоТности CLR.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
20
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅
ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΠΌΡ‹ΠΉ
исполняСмый
PE-Ρ„Π°ΠΉΠ»
являСтся
самодокумСнтируСмым Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ, ΠΊΠ°ΠΊ ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ,
содСрТит ΠΈ ΠΊΠΎΠ΄, ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄.
Π€Π°ΠΉΠ» начинаСтся с манифСста ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя
описаниС всСх классов, Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π² PE-Ρ„Π°ΠΉΠ»Π΅, ΠΈΡ… свойств,
ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², всСх Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² — всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ
CLR ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠΎΠΌΠΈΠΌΠΎ PE-Ρ„Π°ΠΉΠ»Π° Π½Π΅ трСбуСтся
Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ записСй Π² рССстр — вся
нуТная информация извлСкаСтся ΠΈΠ· самого Ρ„Π°ΠΉΠ»Π°.
Π‘Ρ€Π΅Π΄ΠΈ классов Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ FCL имССтся класс
Reflection,
ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹
ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚
ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… — Π½Π΅
Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ваТная тСхничСская Ρ‡Π°ΡΡ‚ΡŒ CLR, Π½ΠΎ это Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒ
Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². ΠœΡ‹
ΡƒΠ²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ языка C# ΡΠ°ΠΌΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ
удСляСтся большоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
21
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅
ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ класса программист ΠΌΠΎΠΆΠ΅Ρ‚
ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ
собствСнныС
Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹,
добавляСмыС
ΠΊ
ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌ PE-Ρ„Π°ΠΉΠ»Π°. ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ этого класса ΠΌΠΎΠ³ΡƒΡ‚,
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ класс Reflection, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ эту Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ
ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ,
ΠΈ
Π½Π°
Π΅Π΅
основании
ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ
ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.
ДизассСмблСр структурируСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Ρ…Ρ€Π°Π½ΠΈΠΌΡƒΡŽ Π²
ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΅Π΅ Π² Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π΄Π΅Ρ€Π΅Π²Π°.
Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, это Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ,
дСмонстрируя Π΄Π΅Ρ‚Π°Π»ΠΈ класса. Π—Π½Π°Ρ‡ΠΊΠΈ, приписываСмыС
ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡƒΠ·Π»Ρƒ Π΄Π΅Ρ€Π΅Π²Π°, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏ ΡƒΠ·Π»Π° — класс,
свойство, ΠΌΠ΅Ρ‚ΠΎΠ΄, описаниС. Π”Π²ΠΎΠΉΠ½ΠΎΠΉ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ
Π½Π° этом ΡƒΠ·Π»Π΅ позволяСт Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ. ΠŸΡ€ΠΈ раскрытии
ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊΠΎΠ΄.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
22
Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора
Π‘Π±ΠΎΡ€Ρ‰ΠΈΠΊ мусора — Garbage Collector — ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ построСния
CLR являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда Π±Π΅Ρ€Π΅Ρ‚ Π½Π° сСбя
Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎ входящих Π² Π²Π΅Π΄Π΅Π½ΠΈΠ΅
Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² трансляторов, ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΌ самым ΠΈΡ…
Ρ€Π°Π±ΠΎΡ‚Ρƒ. Один ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°Ρ‡ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²
CLR — сборщик мусора (Garbage Collector). Под сборкой
мусора понимаСтся освобоТдСниС памяти, занятой
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ,
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
стали
бСсполСзными
ΠΈ
Π½Π΅
ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Π΅ прилоТСния. Π’ рядС
языков программирования ΠΏΠ°ΠΌΡΡ‚ΡŒ освобоТдаСт сам
программист, Π² явной Ρ„ΠΎΡ€ΠΌΠ΅ отдавая ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΊΠ°ΠΊ Π½Π°
созданиС, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
23
Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ситуации
Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
(ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹) обнаруТиваСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚
Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ? Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹
Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Π°ΠΊΠΎΠΉ ситуации. Ѐункция
ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ошибки ΠΈΠ»ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Ρ‚ΠΈΠΏΠ° HResult, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΈΠΏ
ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΡˆΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π’ CLR принято
Π²ΠΎ всСх Ρ‚Π°ΠΊΠΈΡ… ситуациях Π²Ρ‹Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.
КосвСнно это влияСт ΠΈ Π½Π° язык программирования.
ВыбрасываниС
ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ
Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠΈΠΌ
ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ
согласуСтся с ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдой. Π’ языкС C#
выбрасываниС ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΈΡ… дальнСйший ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ ΠΈ
ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° — основной Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ
ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
24
Бобытия
Π£ CLR Π΅ΡΡ‚ΡŒ своС Π²ΠΈΠ΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ прСдставляСт собой
Ρ‚ΠΈΠΏ. Π•ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС ΠΎΠ±Ρ‰Π΅ΠΉ систСмы Ρ‚ΠΈΠΏΠΎΠ² CTS
— Common Type System. Π’ соотвСтствии с этим описаниСм,
ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΠΎΠ»Π΅ΠΉ, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ свойств, ΠΌΠΎΠΆΠ΅Ρ‚
ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΈ события. ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ событий Π²
процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π΅ΠΌ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°
ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ΡΡ сообщСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° сообщСниями основан Π½Π°
Π΄Π΅Π»Π΅Π³Π°Ρ‚Π°Ρ… — Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ Ρ‚ΠΈΠΏΠ΅.
Π˜ΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ срСда CLR ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ
динамичСскими
ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ
сборки
мусора,
динамичСского связывания, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…
ситуаций ΠΈ событий. Π―Π·Ρ‹ΠΊ C# создавался ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с
созданиСм CLR, Ρ‚ΠΎ, СстСствСнно, ΠΎΠ½ стал языком, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅
согласованным с ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдой, ΠΈ срСдства языка
Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² срСдства ΠΈΡΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСды.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
25
ΠžΠ±Ρ‰ΠΈΠ΅ спСцификации ΠΈ совмСстимыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
ΠšΠ°Ρ€ΠΊΠ°Ρ Framework .Net ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ мСТязыковоС
взаимодСйствиС. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ классы, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π½Π°
Ρ€Π°Π·Π½Ρ‹Ρ… языках, ΠΌΠΈΡ€Π½ΠΎ ΡƒΠΆΠΈΠ²Π°Π»ΠΈΡΡŒ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ
прилоТСния, для ΠΈΡ… бСсшовной ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ возмоТности
построСния
разноязычных
ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ²
ΠΎΠ½ΠΈ
Π΄ΠΎΠ»ΠΆΠ½Ρ‹
ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ограничСниям. Π­Ρ‚ΠΈ ограничСния
Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€ΠΎΠΌ общСязыковых спСцификаций — CLS
(Common Language Specification). Класс, ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ
спСцификациям CLS, называСтся CLS-совмСстимым. Он
доступСн для использования Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, классы
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ наслСдниками
совмСстимого класса.
Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ CLS Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ
встроСнных Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² совмСстимых
модулях.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
26
ΠžΠ±Ρ‰ΠΈΠ΅ спСцификации ΠΈ совмСстимыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ
ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ эти Ρ‚ΠΈΠΏΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ общСдоступными
для всСх языков, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Framework . Net.
Π’ совмСстимых модулях Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ
управляСмыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅
ограничСния. ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ интСрфСйсной
части класса, Π΅Π³ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Закрытая
Ρ‡Π°ΡΡ‚ΡŒ класса ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ Π½Π΅ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΡΡ‚ΡŒ CLS. ΠšΠ»Π°ΡΡΡ‹, ΠΎΡ‚
ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ трСбуСтся ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ
спСцифичСскиС особСнности языка программирования.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
27
Π―Π·Ρ‹ΠΊ C#
Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ языка являСтся сотрудник Microsoft
АндрСас Π₯СйлсбСрг. Он стал извСстным Π² ΠΌΠΈΡ€Π΅
программистов Π·Π°Π΄ΠΎΠ»Π³ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡˆΠ΅Π» Π² Microsoft.
Π₯СйлсбСрг Π²Ρ…ΠΎΠ΄ΠΈΠ» Π² число Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ·
самых популярных срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ — Delphi.
Π’ Microsoft ΠΎΠ½ участвовал Π² создании вСрсии Java — J++,
Ρ‚Π°ΠΊ
Ρ‡Ρ‚ΠΎ
ΠΎΠΏΡ‹Ρ‚Π°
Π²
написании
языков
ΠΈ
срСд
программирования Π΅ΠΌΡƒ Π½Π΅ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ.
Как ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π» сам АндрСас Π₯СйлсбСрг, C# создавался ΠΊΠ°ΠΊ
язык ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΠΎΠ³ΠΎ программирования, ΠΈ Π² этом ΠΎΠ΄Π½ΠΎ ΠΈΠ·
Π³Π»Π°Π²Π½Ρ‹Ρ… достоинств языка, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования созданных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ².
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
28
Π―Π·Ρ‹ΠΊ C#
Из Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:
C# создавался ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с каркасом Framework .Net
ΠΈ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ всС Π΅Π³ΠΎ возмоТности — ΠΊΠ°ΠΊ
FCL, Ρ‚Π°ΠΊ ΠΈ CLR;
C# являСтся ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ
языком, Π³Π΄Π΅ Π΄Π°ΠΆΠ΅ Ρ‚ΠΈΠΏΡ‹, встроСнныС Π² язык,
прСдставлСны классами;
C#
являСтся
ΠΌΠΎΡ‰Π½Ρ‹ΠΌ
ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ
языком
с
возмоТностями наслСдования ΠΈ унивСрсализации;
C# являСтся наслСдником языков C/C++, сохраняя
Π»ΡƒΡ‡ΡˆΠΈΠ΅
Ρ‡Π΅Ρ€Ρ‚Ρ‹
этих
популярных
языков
программирования. ΠžΠ±Ρ‰ΠΈΠΉ с этими языками синтаксис,
Π·Π½Π°ΠΊΠΎΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ языка ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄
программистов ΠΎΡ‚ Π‘++ ΠΊ C#;
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
29
Π―Π·Ρ‹ΠΊ C#
простота ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, связаны с
Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° C# хотя ΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ, Π½ΠΎ Π½Π΅ ΠΏΠΎΠΎΡ‰Ρ€ΡΡŽΡ‚ΡΡ
Ρ‚Π°ΠΊΠΈΠ΅ опасныС свойства Π‘++ ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, адрСсация,
Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅, адрСсная Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ°;
благодаря
каркасу
Framework
.Net,
ΡΡ‚Π°Π²ΡˆΠ΅ΠΌΡƒ
надстройкой Π½Π°Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, программисты
C# ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ Ρ‚Π΅ ΠΆΠ΅ прСимущСства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ
машиной, Ρ‡Ρ‚ΠΎ ΠΈ программисты Java;
мощная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° каркаса ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ удобство
построСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° C#,
позволяя Π»Π΅Π³ΠΊΠΎ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Web-слуТбы, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΠ΄Ρ‹
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², достаточно просто ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ
ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π‘Π” ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π΄Π°Π½Π½Ρ‹Ρ…;
рСализация, ΡΠΎΡ‡Π΅Ρ‚Π°ΡŽΡ‰Π°Ρ построСниС Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΠΈ
эффСктивного ΠΊΠΎΠ΄Π°, являСтся Π½Π΅ΠΌΠ°Π»ΠΎΠ²Π°ΠΆΠ½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ,
ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ успСху C#.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
30
Π’ΠΈΠ΄Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²
Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ, Visual Studio .Net для языков C#,
Visual Basic ΠΈ J# ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ²
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ². Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ пустой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ
ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ содСрТится Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ; Π΅ΡΡ‚ΡŒ
Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° созданиС Web-слуТб. На
Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… этапах, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΡΠ»ΠΎΠΆΠ½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ
ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния.
Рассмотрим, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ
ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ собой ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅
понятия: Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ (solution), ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ (project), пространство
ΠΈΠΌΠ΅Π½ (namespace), сборка (assembly).
Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния программиста, компилятор создаСт
Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния CLR — сборку, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ PEΡ„Π°ΠΉΠ». ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ, CLR — со
сборкой.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
31
РСшСниС
РСшСниС содСрТит ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ нСсколько ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²,
рСсурсы,
Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅
этим
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ,
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ,
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ входящиС Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Один ΠΈΠ·
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½
стартовым ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ.
Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ начинаСтся со стартового
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ зависимыми
ΠΈΠ»ΠΈ нСзависимыми. ИзмСняя стартовый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅,
стартовый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ…ΠΎΠ΄Π° — класс,
содСрТащий ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Main,
ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ автоматичСски пСрСдаСтся ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚
запуска Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π΅ΡΡ
Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹Π΅, Ρ‚Π°ΠΊ ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² нСсколько
Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
32
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚
ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ состоит ΠΈΠ· классов, собранных Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ
Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… пространствах ΠΈΠΌΠ΅Π½. ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²Π° ΠΈΠΌΠ΅Π½
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚
ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹,
содСрТащиС
большоС число классов, объСдиняя Π² ΠΎΠ΄Π½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡƒ Π±Π»ΠΈΠ·ΠΊΠΈΠ΅
классы.
Если Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ нСсколько исполнитСлСй,
Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… создаСт своС пространство
ΠΈΠΌΠ΅Π½.
Помимо структуризации, это Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ классам ΠΈΠΌΠ΅Π½Π°, Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ ΠΎΠ± ΠΈΡ…
ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ Ρ€Π°Π·Π½Ρ‹Ρ… пространствах ΠΈΠΌΠ΅Π½ ΠΌΠΎΠ³ΡƒΡ‚
ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ классы. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ — это основная
Π΅Π΄ΠΈΠ½ΠΈΡ†Π°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ программист. Он Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ
ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π° Visual Studio создаСт скСлСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²
соотвСтствии с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
33
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
https://msdn.microsoft.com/ruru/library/0wc2kk78(v=vs.90).aspx
Рассмотрим построСниС ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
C# β€” консольного прилоТСния. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅
прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ Π²Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π·
ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΎΠ½ΠΈ идСально подходят для быстрого
ознакомлСния с возмоТностями языка ΠΈ написания
слуТСбных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки.
1. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ срСду Visual Studio 2012. Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ
Π€Π°ΠΉΠ» Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
2. Π’ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Visual C#
3. Π’ качСствС Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ КонсольноС
ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ имя прилоТСния Π½Π° cons1, ΠΊΠ°ΠΊ
ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, послС Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
34
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
35
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ шаблон консольного прилоТСния. Π’
шаблонС присутствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
36
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ IDE (Integrated
Development
Environment)
Visual
Studio
являСтся
ΠΌΠ½ΠΎΠ³ΠΎΠΎΠΊΠΎΠ½Π½ΠΎΠΉ, настраиваСмой, ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ большим Π½Π°Π±ΠΎΡ€ΠΎΠΌ
возмоТностСй.
ПанСль инструмСнтов содСрТит Π·Π½Π°Ρ‡ΠΊΠΈ для создания,
Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ сохранСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², рСдактирования исходного
ΠΊΠΎΠ΄Π°, построСния прилоТСния, скрытия ΠΈ отобраТСния
Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΊΠΎΠ½, ΡΠ²Π»ΡΡŽΡ‰ΠΈΡ…ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ срСды Visual C#, экспрСссвыпуск. На ΠΏΡ€Π°Π²ΠΎΠΌ ΠΊΡ€Π°ΡŽ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов находятся
ΠΏΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΊΠΎΠ² для открытия Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΎΠΊΠΎΠ½, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ
ΠžΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ПанСль элСмСнтов. ΠŸΡ€ΠΈ
Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ указатСля ΠΌΡ‹ΡˆΠΈ Π½Π° любой ΠΈΠ· этих Π·Π½Π°Ρ‡ΠΊΠΎΠ²
появляСтся Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка.
Π‘ΠΏΡ€Π°Π²Π° отобраТаСтся ΠžΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. Π’ ΠΎΠΊΠ½Π΅
ΠžΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ
Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ
прСдставлСна
структура
построСнного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
37
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
Π’ ΠΎΠΊΠ½Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² отобраТаСтся Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚,
Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ класса Program.
ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΠΎΠ΅
Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅
содСрТит,
СстСствСнно,
СдинствСнный Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π°ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ – cons1.
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
38
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
39
ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚
http://easyprog.ru/index.php?option=com_content&task=vie
w&id=498&Itemid=29
Π­Ρ‚Π° ΠΊΠΎΡ€ΠΎΡ‚Π΅Π½ΡŒΠΊΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΈ своСм запускС
попросит ввСсти вашС имя, Π° ΠΏΠΎΡ‚ΠΎΠΌ поздороваСтся с Π²Π°ΠΌΠΈ:
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
40
Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ задания β„–2
β„–
Π—Π°Π΄Π°Π½ΠΈΠ΅
1
Π’ ΠΏΠΎΠ»Π΅ select ввСсти Π² ΠΎΠΏΡ†ΠΈΠΈ 6 стран Π•Π²Ρ€ΠΎΠΏΡ‹. Π’ зависимости ΠΎΡ‚
Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ
страны
вывСсти
Π΅Π΅
столицу
ΠΈ
ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ
Π΄ΠΎΡΡ‚ΠΎΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ рисунка ΠΈ подписи. НапримСр:
Π²Ρ‹Π±Ρ€Π°Π»ΠΈ
Польша,
выводится:
столица
–
Π’Π°Ρ€ΡˆΠ°Π²Π°,
Π΄ΠΎΡΡ‚ΠΎΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ – Колона Π‘ΠΈΠ³ΠΈΠ·ΠΌΡƒΠ½Π΄Π° ΠΈ Π΅Π΅ рис.
Π’ ΠΏΠΎΠ»Π΅ input ввСсти число. Π’ зависимости ΠΎΡ‚ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ символа P,
S, V ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°; ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ
ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΡƒΠ±Π°.
Π’ ΠΏΠΎΠ»Π΅ input ввСсти число, состоящСС ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ†ΠΈΡ„Ρ€.
ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Ρ†ΠΈΡ„Ρ€ Π²Π²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ†Π΅Π»ΠΎΠ³ΠΎ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ
числа ΠΈ вывСсти ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ†ΠΈΡ„Ρ€Ρƒ.
Π’ поля input ввСсти числа a ΠΈ b. Найти наибольшСС ΠΈ наимСньшСС
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ y=3×2+x — 4, Ссли Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [a,b] x
измСняСтся с шагом h=0,1.
2
3
4
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
41
Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ задания β„–1
β„–
Π—Π°Π΄Π°Π½ΠΈΠ΅
9
Π’ ΠΏΠΎΠ»Π΅ input ввСсти число. Π’ зависимости ΠΎΡ‚ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ символа P,
S, V ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π°; ΠΏΠ»ΠΎΡ‰Π°Π΄ΡŒ
ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΡƒΠ±Π°.
Π’ ΠΏΠΎΠ»Π΅ select ввСсти ΠΎΠΏΡ†ΠΈΠΈ: Ρ‚Ρ€ΡƒΠ΄, ΡƒΡ‡Π΅Π½ΠΈΠ΅, лСнь, Π΄ΠΎΠ±Ρ€ΠΎΡ‚Π°, Π΄Ρ€ΡƒΠΆΠ±Π°. Π’
зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ вывСсти пословицу.
Π’ ΠΏΠΎΠ»Π΅ select ввСсти Π² ΠΎΠΏΡ†ΠΈΠΈ 6 стран Азии. Π’ зависимости ΠΎΡ‚
Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ страны вывСсти Π΅Π΅ столицу.
Π’ ΠΏΠΎΠ»Π΅ select ввСсти Π² ΠΎΠΏΡ†ΠΈΠΈ ΠΎΠΊΠ΅Π°Π½ΠΎΠ². Π’ зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ
ΠΎΠΊΠ΅Π°Π½Π° Π² ΠΏΠΎΠ»Π΅ ListBox вывСсти моря этого ΠΎΠΊΠ΅Π°Π½Π°.
Π’ тСкстовоС ΠΏΠΎΠ»Π΅ ввСсти дСнь Π½Π΅Π΄Π΅Π»ΠΈ. По Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ дню Π½Π΅Π΄Π΅Π»ΠΈ
вывСсти Π² ListBox расписаниС Π½Π° этот дСнь.
Π’ ΠΏΠΎΠ»Π΅ select ввСсти Π² ΠΎΠΏΡ†ΠΈΠΈ 6 Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ². Π’ зависимости ΠΎΡ‚
Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π° Π² ΠΏΠΎΠ»Π΅ ListBox вывСсти ΠΏΠΎ 5 Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ² этого
Ρ€Π΅Π³ΠΈΠΎΠ½Π°.
Π’ поля input ввСсти числа a ΠΈ b. Найти наибольшСС ΠΈ наимСньшСС
Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ y=3×2+x — 4, Ссли Π½Π° Π·Π°Π΄Π°Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π΅ [a,b] x
измСняСтся с шагом h=0,1.
Π’ ΠΏΠΎΠ»Π΅ select ввСсти Π² ΠΎΠΏΡ†ΠΈΠΈ 3 Π³ΠΎΡ€ΠΎΠ΄ΠΎΠ². Π’ зависимости ΠΎΡ‚
Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π³ΠΎΡ€ΠΎΠ΄Π° Π² ΠΏΠΎΠ»Π΅ ListBox вывСсти ΠΏΠΎ 5 ΡƒΠ»ΠΈΡ† этого Π³ΠΎΡ€ΠΎΠ΄Π°.
10
11
12
13
14
15
16
ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° C#
42

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ — это… Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ?

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ (Π°Π½Π³Π».Β frameworkΒ β€” каркас, структура)Β β€” структура ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы; ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ объСдинСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² большого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ Π½Π°Π±ΠΎΡ€ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ содСрТит Π² сСбС большоС количСство Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. УпотрСбляСтся Ρ‚Π°ΠΊΠΆΠ΅ слово «каркас», Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ Π² качСствС основного, Π² Ρ‚ΠΎΠΌ числС Π½Π΅ Π±Π°Π·ΠΈΡ€ΡƒΡΡΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π° англоязычном Π°Π½Π°Π»ΠΎΠ³Π΅.[1][2][3] МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ каркасном ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅[3] ΠΊΠ°ΠΊ ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π³Π΄Π΅ любая конфигурация ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ строится ΠΈΠ· Π΄Π²ΡƒΡ… частСй: пСрвая, постоянная Ρ‡Π°ΡΡ‚ΡŒΒ β€” каркас, Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠΉΡΡ ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΊ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ нСсущий Π² сСбС Π³Π½Π΅Π·Π΄Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… размСщаСтся вторая, пСрСмСнная Ρ‡Π°ΡΡ‚ΡŒΒ β€” смСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ).

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы

Π­Ρ‚ΠΎ каркас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы (ΠΈΠ»ΠΈ подсистСмы). ΠœΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΊΠΎΠ΄Π°, язык сцСнариСв ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ПО, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ объСдинСниС Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² большого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ объСдинСниС происходит Π·Π° счёт использования Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ API.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Symfony, Django.

ΠžΡ‚Π»ΠΈΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ выполняСт ΠΊΠΎΠ΄, написанный для Π½Π΅Π³ΠΎ, Π° Π½Π΅ исполняСтся сам. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°Β β€” CMF (Content Management Framework), Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΒ β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹.

Π’Π°ΠΊΠΆΠ΅, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ Π² сСбС Π½Π°Π±ΠΎΡ€ Π±Π»ΠΈΠ·ΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, каркас содСрТит Π² сСбС большоС число Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎ Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ прилоТСния

Одним ΠΈΠ· Π³Π»Π°Π²Π½Ρ‹Ρ… прСимущСств ΠΏΡ€ΠΈ использовании каркасных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ прилоТСния ΠΈΠΌΠ΅ΡŽΡ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ структуру. ΠšΠ°Ρ€ΠΊΠ°ΡΡ‹ прилоТСния стали популярны с появлСниСм графичСских интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅Π»ΠΈ Ρ‚Π΅Π½Π΄Π΅Π½Ρ†ΠΈΡŽ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ стандартной структуры для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π‘ ΠΈΡ… использованиСм стало Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ срСдства для автоматичСского создания графичСских интСрфСйсов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ структура Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° прилоТСния стала извСстна Π·Π°Ρ€Π°Π½Π΅Π΅. Для обСспСчСния каркаса ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, части прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°).

Одним ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… коммСрчСских Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² прилоТСния Π±Ρ‹Π» MacApp, написанный Apple ΠΏΠΎΠ΄ Macintosh. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ созданный с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ) вСрсии языка Паскаль, впослСдствии ΠΎΠ½ Π±Ρ‹Π» пСрСписан Π½Π° C++. Π”Ρ€ΡƒΠ³ΠΈΠ΅ популярныС каркасы для Macintosh Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈ Metrowerks Powerplant ΠΈ MacZoop (всС основаны Π½Π° Carbon). Π’Π°ΠΊΠΆΠ΅ WebObjects ΠΎΡ‚ NeXT.

Π’ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ стСпСни Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ прилоТСния ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Cocoa для Mac OS X, Π° Ρ‚Π°ΠΊΠΆΠ΅ свободныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Mozilla, OpenOffice.org, GNOME ΠΈ KDE.

Microsoft создала ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ для Windows, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ называСтся Β«Microsoft Foundation ClassesΒ» (MFC). На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ основным ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ Microsoft для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО прСдлагаСтся .NET Framework.

ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ каркасами ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Linux, Macintosh ΠΈ Windows ΡΠ²Π»ΡΡŽΡ‚ΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, widget toolkit, wxWidgets, Qt, MyCore ΠΈΠ»ΠΈ FOX toolkit.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ

АбстрактноС понятиС структуры, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² исслСдованиях для опрСдСлСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΠ»ΠΈ прСдставлСния ΠΈΠ΄Π΅ΠΈ.

РСализация Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ опрСдСляСтся ΠΊΠ°ΠΊ мноТСство ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΈ абстрактных классов, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ способов ΠΈΡ… Π²Π·Π°ΠΈΠΌΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ классы ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ Π²Π·Π°ΠΈΠΌΠ½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ классами. АбстрактныС классы ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… каркасы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΈΠ»ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹.

Π’ΠΎΡ‡ΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΒ β€” это Ρ‚Π° Ρ‡Π°ΡΡ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° рСализация. БоотвСтствСнно каркас ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ состоит ΠΈΠ· ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… классов, Π° каркас ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ систСмы ΠΈΠ· классов языка программирования ΠΎΠ±Ρ‰Π΅Π³ΠΎ назначСния.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ подмноТСства Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ. Π’ Ρ…ΠΎΠ΄Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ ΠΎΠ±Ρ‰ΠΈΠ΅ срСдства Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… классах, Π° измСняСмыС срСдства выносятся Π² Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ.

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Бсылки

.NET Framework ΠΈ ASP.NET β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

.NET Framework β€” это программная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, выпущСнная ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Microsoft, которая ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для разных языков программирования. ASP.NET β€” тСхнология создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΒ Π²Π΅Π±-сСрвисов ΠΎΡ‚Β ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft. Она являСтся составной Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET ΠΈΒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ старой Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Microsoft ASP.

БчитаСтся, Ρ‡Ρ‚ΠΎΒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Framework явилась ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Microsoft Π½Π°Β Π½Π°Π±Ρ€Π°Π²ΡˆΡƒΡŽ ΠΊΒ Ρ‚ΠΎΠΌΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Java. ASP.NET основываСтся Π½Π°Β Common Language Runtime: Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для ASP.NET, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ практичСски Π»ΡŽΠ±Ρ‹Π΅ языки программирования, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ·Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… входят Π²Β ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ .NET Framework (C#, Visual Basic.NET ΠΈΒ JScript .NET), Π°Β Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ (IronRuby, IronPython, PHP, Perl, Smalltalk, Haskell ΠΈΒ Π΄Ρ€.). Π’Π΅ΠΌ Π½Π΅Β ΠΌΠ΅Π½Π΅Π΅, Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅Β Π²ΠΏΠΎΠ»Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Β«.NET-программист», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° на любом языкС программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π²Β .NET-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.

НСкоторыС особСнности ASP.NET:

  • ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ выполняСтся быстрСС, Π°Β Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ошибок отлавливаСтся Π΅Ρ‰Ρ‘ на стадии Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  • Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ Π½Π°Π±ΠΎΡ€ элСмСнтов управлСния ΠΈΒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ классов, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ всСй страницы, Π΅Ρ‘ частСй ΠΈΠ»ΠΈΒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… на страницС.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ раздСлСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ части и бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠΎΒ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ, Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… элСмСнтов управлСния, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ мСню сайта, Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ master-страниц для задания шаблонов оформлСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° AJAX (Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ ASP.NET AJAX).
  • Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ событий, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запросов и сСрвСрных элСмСнтов управлСния.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CRUD-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€ΠΈΒ Ρ€Π°Π±ΠΎΡ‚Π΅ с таблицами Ρ‡Π΅Ρ€Π΅Π·Β GridView.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ созданиС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ шаблон Model-View-Controller (ASP.NET MVC Framework).

.NET достаточно ΡˆΠΈΡ€ΠΎΠΊΠΎ распространён в сфСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², Π½ΠΎΒ Π²Β Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ всё ΠΆΠ΅ встрСчаСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π΄ΠΊΠΎ, ΠΊΠ°ΠΊ ΠΈΒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² для вСб-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π²Π°Π΅Ρ‚ достаточно нСпросто. ИспользованиС .NET «тянСт» за собой ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ ΠΈΒ ΠΈΠ½ΠΎΠ³ΠΎ ΠŸΠžΒ ΠΎΡ‚Β ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ†ΠΈΠΈ Microsoft (сСрвСрной ОБ, Π‘Π£Π‘Π” ΠΈΒ Ρ‚.ΠΏ.). ВСхнология достаточно дорогая Π²Β Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ и сопровоТдСнии: ΠΊΡ€ΠΎΠΌΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚ Π½Π°Β ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΉ Π½Π°Β Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠŸΠžΒ ΡΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²ΠΊΠ»Π°Π΄ Π²Β Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² вносят высокиС Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свою DOTNET

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ вСрсии .NET установлСны Π½Π° вашСм ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅:

Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΉ вСрсии .NET (DOTNET) Π²Ρ‹ установили Ρ‚Π²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. Π’ΠΎΡ‚ нСсколько распространСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ .NET Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ установлСнныС вСрсии .NET, пСрСйдя Π² Microsoft.NET Framework Π² ΠΏΠ°ΠΏΠΊΠ°Ρ… Windows. ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ — C: \ Windows \ Microsoft.NET \ Framework. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· установлСнных вСрсий .NET Π±ΡƒΠ΄Π΅Ρ‚ своя ΠΏΠ°ΠΏΠΊΠ°.

НайдитС Π² рССстрС установки .NET.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ вСрсии .NET установлСны, заглянув Π² свой рССстр. Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… мСстах:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \.NETFramework
ΠΈΠ»ΠΈ
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP ( Π»ΡƒΡ‡ΡˆΠ΅ )

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ рССстр, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

  1. НаТмитС ΠΊΠ½ΠΎΠΏΠΊΡƒ Microsoft ΠŸΡƒΡΠΊ

    Π²Π²Π΅Π΄ΠΈΡ‚Π΅ «regedit»

    ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π²Π²ΠΎΠ΄.
  2. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows 7, Π²Ρ‹, вСроятно, ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с сообщСниСм Β«Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² этот ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€? Β»Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ [Π”Π°] ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ рССстра, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  3. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π΄Π²ΡƒΡ… мСст рССстра, пСрСчислСнных Π²Ρ‹ΡˆΠ΅.

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто Π² рССстрС Π½Π° ΠΌΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ рисункС ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ мСсто. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это мСсто ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ большС Π΄Π΅Ρ‚Π°Π»ΡŒ? Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ я ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽ это.


УстановлСнныС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π₯отя, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ Ρ‚Π°ΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки NET Framework Π² рССстрС, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ вСрсии .NET установлСны, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² список установлСнных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.Π—Π°ΠΉΠ΄ΠΈΡ‚Π΅ Π² ПанСль управлСния вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ «Установка ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΒ». Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows 7, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ просто Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒΒ». ссылку вмСсто этого. НС Π²ΠΎΠ»Π½ΡƒΠΉΡ‚Π΅ΡΡŒ, Π²Ρ‹ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ.

Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это выглядит Π² Windows 7. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ я всС Π΅Ρ‰Π΅ ΠΌΠΎΠ³Ρƒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС (ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ способ) ΠΈΠ»ΠΈ NET Framework Setup Π² систСмном рССстрС?

Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ: Windows 7 (любая вСрсия), Windows Vista (любая вСрсия), Windows XP Professional ΠΈΠ»ΠΈ Windows XP Home Edition (Π±Π΅Π· Π΄Ρ€ΡƒΠ³ΠΈΡ… вСрсий XP)

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π².NET Framework — GeeksforGeeks

.NET — это программная срСда, разработанная ΠΈ разработанная Microsoft. ΠŸΠ΅Ρ€Π²ΠΎΠΉ вСрсиСй .Net framework Π±Ρ‹Π»Π° 1.0, которая появилась Π² 2002 Π³ΠΎΠ΄Ρƒ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, это Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина для компиляции ΠΈ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанных Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C #, VB.Net ΠΈ Ρ‚. Π”.
Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Form прилоТСния, Π²Π΅Π±-прилоТСния ΠΈ Π²Π΅Π±-слуТбы. На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ .Net, VB, доступно мноТСство языков программирования.Net ΠΈ C # ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнными. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Windows, Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΈ Ρ‚. Π”. Он прСдоставляСт мноТСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ отраслСвыС стандарты.

.NET Framework ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 60 языков программирования, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 11 языков программирования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Microsoft. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ языков, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΡ‚ Microsoft, , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ .NET Framework, Π½ΠΎ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΈ Π½Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Microsoft.

11 языков программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Microsoft:

  • C #.NET
  • VB.NET
  • C ++. NET
  • J # .NET
  • F # .NET
  • JSCRIPT.NET
  • WINDOWS POWERSHELL
  • IRON RUBY
  • IRON PYTHON
  • C OMEGA
  • ASML (язык абстрактных состояний ΠΌΠ°ΡˆΠΈΠ½Ρ‹) )
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ .NET Framework

Common Language Runtime (CLR): CLR — это Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ .NET Framework. Π­Ρ‚ΠΎ срСда выполнСния Π² .NET Framework, которая запускаСт ΠΊΠΎΠ΄Ρ‹ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, прСдоставляя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ услуги, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅ взаимодСйствиС, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ², ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ‚. Π”.. По сути, ΠΎΠ½ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ .NET нСзависимо ΠΎΡ‚ любого языка программирования .NET. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π² ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΊΠΎΠ΄, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° срСду выполнСния, извСстСн ΠΊΠ°ΠΊ управляСмый ΠΊΠΎΠ΄, Π° ΠΊΠΎΠ΄, Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для срСды выполнСния, извСстСн ΠΊΠ°ΠΊ нСуправляСмый ΠΊΠΎΠ΄.

Framework Class Library (FCL): Π­Ρ‚ΠΎ коллСкция ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ классов, ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ Ρ‚. Π”., ΠšΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с CLR. Π’Π°ΠΊΠΆΠ΅ называСтся сборками. Π­Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π² C / C ++ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² java.Установка .NET framework Π² основном прСдставляСт собой установку CLR ΠΈ FCL Π² систСму. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ±Π·ΠΎΡ€ .NET Framework


ЯвляСтся Π»ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET зависимой ΠΈΠ»ΠΈ нСзависимой ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹?

ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ЦП извСстна ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°. Π—Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ языка программирования Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ .NET зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ·-Π·Π° наличия.NET framework, которая ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС Windows. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ .Net Π½Π΅ зависит ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·-Π·Π° Mono framework . Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Mono, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ .Net ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Windows. Mono framework — это стороннСС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ Novell Company , которая Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Micro Focus Company . Π­Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ.

Π˜ΡΡ‚ΠΎΡ€ΠΈΡ выпусков .NET Framework ΠΈ Π΅Π΅ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСрсиСй Windows
.NET 2003

.ВСрсия NET ВСрсия CLR БрСдство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Windows
1.0 1.0 Visual Studio .NET XP SP1
1.1
1.1 XP SP2, SP3
2.0 2.0 Visual Studio 2005 Н / Π”
3.0 2.0 Expression Blend Vista
3,5 2,0 Visual Studio 2008 7, 8, 8.1, 10
4,0 4 Visual Studio / A
4,5 4 Visual Studio 2012 8
4.5.1 4 Visual Studio 2013 8,1
900 9005.2 4 НСт НСт
4.6 4 Visual Studio 2015 10 v1507
4.6.1 4 Visual Studio 4 2015 ОбновлСниС 1 10 v1511
4.6.2 4 НСт Π΄Π°Π½Π½Ρ‹Ρ… 10 v1607
4.7 4 Visual Studio 2017 10142 Visual Studio 2017 4.7.1 4 Visual Studio 2017 10 v1709
4.7.2 4 Visual Studio 2017 10v 1803

Visual Studio Π’Π°ΠΆΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹: это инструмСнт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для проСктирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ .NET. Для использования Visual Studio ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ сначала ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NET Π² систСмС.

  • Π’ Π±ΠΎΠ»Π΅Π΅ старых вСрсиях ОБ Windows, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ XP SP1, SP2 ΠΈΠ»ΠΈ SP3, .ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET Π±Ρ‹Π»Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° с установочным носитСлСм.
  • Windows 8, 8.1 ΠΈΠ»ΠΈ 10 Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΡ€Π΅Π΄ΡƒΡΡ‚Π°Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ 3.5 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅ .NET Framework. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ вСрсия Π²Ρ‹ΡˆΠ΅ 3.5 Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ установлСна ​​либо с установочного носитСля Windows, Π»ΠΈΠ±ΠΎ ΠΈΠ· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΏΠΎ запросу. Π¦Π΅Π½Ρ‚Ρ€ обновлСния Windows даст Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ установкС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° .NET .
  • Dot Net Framework | Dot Net

    Если Π²Ρ‹ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚Π΅ΡΡŒ ΠΎ своих ИВ-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π΄Ρ‹Ρ€Ρƒ Π² Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°Ρ… вашСго бизнСса, настала ваша ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π°.NET Framework. ВозмоТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования .Net ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠ³ΡƒΡ‚ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ваши эксплуатационныС расходы.

    Dot Net (ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ .Net) являСтся ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ Microsoft, Π° Dot Net Framework (ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ .Net Framework) — это программная срСда, разработанная Microsoft, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² основном Π² Microsoft Windows. Π­Ρ‚ΠΎ бСсплатная кроссплатформСнная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. .Net бСзопасСн Π² использовании ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΈ обСспСчиваСт простоС Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ настройкой совмСстного использования ΠΊΠΎΠ΄Π° ΠΈ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ нСсколько вСрсий вашСго прилоТСния Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

    Как Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Dot NET ΠΈ Dot NET?

    Dot NET унивСрсалСн, с Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько языков, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств, ΠΈΠ³Ρ€, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, Dot Net — это структура, которая прСдоставляСт Π²Π°ΠΌ руководящий ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — ΠΎΡ‚ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Windows. Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Dot NET ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ языками программирования, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ C #, C ++, VB.NET ΠΈ F # .

    Он состоит ΠΈΠ· Π΄Π²ΡƒΡ… ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²: Common Language Runtime (CLR) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов Dot Net Framework (FCL). Π•Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ — это языковая ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ язык ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, написанный Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… языках, Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языках программирования. CLR — это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ Ρ‚. Π”. ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, написанный с использованиСм .Net Framework, называСтся управляСмым ΠΊΠΎΠ΄ΠΎΠΌ. FCL ΠΈ CLR вмСстС ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Dot Net Framework.

    ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹ΡˆΠ΅ Ρ„Π°ΠΊΡ‚Π°Ρ…, ΠΌΡ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ основы Dot Net ΠΈ Dot Net Framework. Dot Net, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Microsoft, прСдставляСт собой Π½Π°Π±ΠΎΡ€ ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° инструмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСрвисов ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для устройств Π½Π° Π±Π°Π·Π΅ Windows. Dot Net Framework ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ классов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ программистами. Dot Net Framework Π² основном состоит ΠΈΠ· Π΄Π²ΡƒΡ… извСстных языков программирования, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ C # ΠΈ VB. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой ΠΈΠ· этих языков для своСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ ΠΎΠ±Π° Π΄Π°Π΄ΡƒΡ‚ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ объясним 5 Π²Π°ΠΆΠ½Ρ‹Ρ… Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Dot net ΠΈ Dot net framework.

    1. Π Π°Π½Π΅Π΅ Dot Net Π½Π΅ Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ:

    Dot Net Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Microsoft Π² ΠΊΠΎΠ½Ρ†Π΅ 1990-Ρ… Π³ΠΎΠ΄ΠΎΠ², ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Next Generation Windows Services (NGWS), ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ стратСгии .Net. К ΠΊΠΎΠ½Ρ†Ρƒ 2000 Π³ΠΎΠ΄Π° Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Ρ‹ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Π΅Ρ‚Π°-вСрсии .Net 1.0. Π”ΠΎ 2014 Π³ΠΎΠ΄Π° это Π½Π΅ Π±Ρ‹Π»ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, Dot Net ΠΌΠΎΠΆΠ½ΠΎ бСсплатно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ срСди ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° структура dot Net ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сформирована Π² соотвСтствии с потрСбностями ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.Как ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, ΠΎΠ½ стал ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΈ Π² дальнСйшСм создал основу для кроссплатформСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ прСимущСство ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° — это Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΡ‚ΠΈΠ»ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сокращаСт врСмя Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Dot Net.
    Одним ΠΈΠ· основных нСдостатков Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ исходного ΠΊΠΎΠ΄Π° являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π½Π΅Ρ‚ доступа ΠΊ ΠΊΠΎΠ΄Ρƒ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, систСма с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ обСспСчиваСт ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π»Π΅Π³ΠΊΠΎ доступны для ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠ²-ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†ΠΎΠ² ΠΈ поставщиков ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².ΠŸΠ°Ρ€Ρ‚Π½Π΅Ρ€-поставщик ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ поставщики ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹.

    2. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ языки программирования Dot Net:

    Dot Net — ΠΎΠ±ΡˆΠΈΡ€Π½Π°Ρ программная срСда. Он содСрТит 32 языка программирования, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстными ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ C #, F # ΠΈ VB. НСкоторыС ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Dot Net ΠΈ Dot Net Framework, — это A Sharp (.Net), Cobra, Boo, Fantom, Sharp, Oxygen ΠΈ Ρ‚. Π”. Dot Net содСрТит ΠΊΠ°ΠΊ интСрфСйсныС, Ρ‚Π°ΠΊ ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ языки.НапримСр, ASP.NET ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сСрвСрной части, Π° C # ΠΈ VB.NET — Π² качСствС внСшнСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

    3. Dot Net Π½Π΅ ограничиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Windows:

    Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Dot Net использовалась Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Windows, Π½ΠΎ Microsoft выпустила ΠΏΠ΅Ρ€Π²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Dot Net Core Π² 2016 Π³ΠΎΠ΄Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Dot Net ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, Ρ‚Π°ΠΊ ΠΈ кроссплатформСнный, ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ‚ мноТСство прСимущСств. Он ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ большС возмоТностСй, облСгчая Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ поэтому прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы для Mac OS X ΠΈ Linux с Dot Net Core.Помимо этого, Dot Net Core ΠΈΠ»ΠΈ Dot Net framework ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ IoT ΠΈ ΠΎΠ±Π»Π°ΠΊΠΎ.

    4. Dot Net бСзопаснСС Java:

    Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ пСрвостСпСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСды, ΠΈ Π±Ρ‹Π»ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ Dot Net Π±ΠΎΠ»Π΅Π΅ бСзопасна, Ρ‡Π΅ΠΌ Java. ΠŸΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ уязвимостСй Dot Net — 27,2, Π° Java — 30,0. Под Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ «Уязвимая ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒΒ» ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ количСство Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π² ΠΎΠ±Ρ€Π°Π·Ρ†Π΅ ΠΊΠΎΠ΄Π° (срСднСС количСство Π΄Π΅Ρ„Π΅ΠΊΡ‚ΠΎΠ² Π½Π° ΠœΠ‘ отсканированного ΠΊΠΎΠ΄Π°), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опрСдСляСт ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ смСло ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Dot Net являСтся Π±ΠΎΠ»Π΅Π΅ бСзопасной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ, Ρ‡Π΅ΠΌ Java. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Dot Net ΠΈ Dot Net Framework становятся популярной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ срСдой для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΌΠ½ΠΎΠ³ΠΈΡ… финансовых ΡƒΡ‡Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π±Π°Π½ΠΊΠΈ.

    5. Dot Net — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π·ΠΎΠ½Ρ‚ΠΈΠΊ:

    Dot Net ΠΈΠ»ΠΈ Dot Net Framework — ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π·ΠΎΠ½Ρ‚ΠΈΠΊ, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ мноТСство языков, Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ инструмСнтов. Microsoft — популярный Π²ΠΎ всСм ΠΌΠΈΡ€Π΅ поставщик услуг, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создал экосистСму систСматичСской Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π΅ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°, обСспСчСния качСства ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ совмСстим с Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΡΠ΅Ρ‚ΡŒΡŽ языков ΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ², Dot Net ΠΈΠ»ΠΈ Dot Net framework Ρ‚Π°ΠΊΠΆΠ΅ совмСстимы. Под Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ «совмСстимый» ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ любого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ обСспСчСния с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ / Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΌ обСспСчСниСм, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½Ρ‹ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

    Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Dot Net ΠΈ Dot Net Framework Π½Π΅ зависят ΠΎΡ‚ языка. Он ΠΌΠΎΠΆΠ΅Ρ‚ эффСктивно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ практичСски со всСми стандартными ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌΠΈ языками ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ систСмами.

    Dot Net ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Ρ€ΠΈ Ρ‚ΠΈΠΏΠ° взаимодСйствия:

    И.COM-взаимодСйствиС (.Net с COM-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ)
    II. ВзаимодСйствиС с Dot Net (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ COM с Dot Net)
    III. P / Invoke (Ρ‚ΠΎΡ‡ΠΊΠ° сСти с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ Win32)

    Π—Π΄Π΅ΡΡŒ COM ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль, ΠΈ Microsoft прСдставила Π΅Π΅ ΠΊΠ°ΠΊ стандарт Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ интСрфСйса ΠΌΠ΅ΠΆΠ΄Ρƒ двумя Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΌΠΈ модулями, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, запускаСмой ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ эти Π΄Π²Π° Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… модуля Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Если ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ доступ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСды выполнСния Dot Net) ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ Dot Net ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² COM, это называСтся прямой ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ.Π‘Ρ€Π΅Π΄Π° выполнСния Dot Net Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π½Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ старому COM-ΠΊΠΎΠ΄Ρƒ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Dot Net, Ρ‡Ρ‚ΠΎ Π·Π°Ρ‚Π΅ΠΌ называСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ.

    Π’Ρ‹Π²ΠΎΠ΄:

    Подводя ΠΈΡ‚ΠΎΠ³, ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Dot Net ΠΈ Dot Net Framework ΡΠ²Π»ΡΡŽΡ‚ΡΡ стандартными ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌΠΈ срСдами для Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½ΠΎΠ³ΠΎ программирования ΠΈ запуска Π²Π°ΡˆΠΈΡ… ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π² блиТайшиС нСсколько Π»Π΅Ρ‚ точСчная ΡΠ΅Ρ‚ΡŒ вырастСт. Наша ΠΊΠΎΠΌΠ°Π½Π΄Π° экспСртов ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ возмоТностями ΠΈ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²Π΅ΠΉΡˆΠΈΡ… инструмСнтов ΠΈΠ»ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… систСм .Net Π½Π° послСдниС вСрсии.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ с Π½Π°ΠΌΠΈ [email protected] ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΡ‚ΡŒ Π½Π°ΠΌ ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ 1.866.468.7974 (INTSYSI)

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ .NET Framework (.NET)?

    Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ .NET Framework (.NET)?

    .NET framework — это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΡ‚ Microsoft. Он прСдоставляСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ срСду программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ, ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах Π½Π° Π±Π°Π·Π΅ Windows.

    ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ конструктивныС особСнности:

    • ВзаимодСйствиС: это позволяСт.ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ для .NET, для доступа ΠΊ функциям ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ .NET.
    • Common Runtime Engine: Ρ‚Π°ΠΊΠΆΠ΅ извСстная ΠΊΠ°ΠΊ общСязыковая срСда выполнСния, это позволяСт ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌ Π² .NET, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ использовании памяти, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ бСзопасности.
    • ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ языка: Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ инфраструктуры ΠΎΠ±Ρ‰Π΅Π³ΠΎ языка (CLI) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ двумя ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках.
    • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов: Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΊΠΎΠ΄Π° для Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ программистами, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ пСрСзаписи ΠΊΠΎΠ΄Π°.
    • ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° развСртывания. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ инструмСнты, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ простоту установки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±Π΅Π· Π²ΠΌΠ΅ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Π² Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π°Π½Π΅Π΅ установлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
    • Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π² .NET, основаны Π½Π° ΠΎΠ±Ρ‰Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ бСзопасности.

    Techopedia ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ .NET Framework (.NET)

    .NET Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ мСсто Π² Π²ΡΠ΅ΠΎΠ±ΡŠΠ΅ΠΌΠ»ΡŽΡ‰Π΅ΠΉ стратСгии развития Microsoft ΠΈ составляСт ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ Java ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ. Он Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΆΠ΅Π½ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Windows, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ использованиС зависит ΠΎΡ‚ контСкста.НапримСр, ΠΎ Β«.NET-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅Β» принято Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΎ программистС, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ Π² срСдС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ссылаСтся Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Framework, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ — .NET 2.0, Π²Ρ‹ΡˆΠ΅Π΄ΡˆΠ°Ρ Π² 2005 Π³ΠΎΠ΄Ρƒ, сильно отличаСтся ΠΎΡ‚ .NET 4.0, которая Π±Ρ‹Π»Π° поставлСна ​​в 2010 Π³ΠΎΠ΄Ρƒ.

    Π”Π°ΠΆΠ΅ хотя этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Β«.NETΒ», это Π½Π΅ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°. Он произносится ΠΊΠ°ΠΊ Β«Ρ‚ΠΎΡ‡ΠΊΠ°-ΡΠ΅Ρ‚ΡŒΒ» ΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° записываСтся ΠΊΠ°ΠΊ Β«Ρ‚ΠΎΡ‡ΠΊΠ°-ΡΠ΅Ρ‚ΡŒΒ» ΠΈΠ»ΠΈ Β«Ρ‚ΠΎΡ‡ΠΊΠ°-ΡΠ΅Ρ‚ΡŒΒ».

    Главная> xUnit.net

    Главная> xUnit.netГлавная | xUnit.net

    xUnit.net — это бСсплатный инструмСнт ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° сообщСство .NET Framework. Написанный ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚Π΅Π»Π΅ΠΌ NUnit v2, xUnit.net — это новСйшиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования C #, F #, VB.NET ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков .NET. xUnit.net Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ReSharper, CodeRush, TestDriven.NET ΠΈ Xamarin. это Ρ‡Π°ΡΡ‚ΡŒ .NET Foundation ΠΈ дСйствуСт Π² соотвСтствии с ΠΈΡ… кодСксом повСдСния. Он Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ Apache 2 (OSI утвСрТдСнная лицСнзия).

    Π‘Π»Π΅Π΄ΠΈΡ‚Π΅ Π·Π° новостями Π² Twitter: @xunit, @jamesnewkirk, @bradwilson, @clairernovotny
    ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΡ вСдутся Π½Π° нашСм сайтС обсуТдСний.
    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Resharper прСдоставляСтся ΠΈ поддСрТиваСтся JetBrains.
    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CodeRush прСдоставляСтся ΠΈ поддСрТиваСтся DevExpress.
    ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NCrunch прСдоставляСтся ΠΈ поддСрТиваСтся Remco Software.
    Π›ΠΎΠ³ΠΎΡ‚ΠΈΠΏ xUnit.net Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Натаном Π―Π½Π³ΠΎΠΌ.

    Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

    ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ сборки

    ДокумСнтация

    Начало Ρ€Π°Π±ΠΎΡ‚Ρ‹

    Π’ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π² xUnit.ΡΠ΅Ρ‚ΡŒ? Π­Ρ‚ΠΈ руководства ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

    • .NET Core — кроссплатформСнныС прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ASP.NET Core
    • .NET Framework — Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ сСрвСрныС прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ASP.NET
    • Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ прилоТСния для Windows (UWP) — прилоТСния для Windows 10
    • Xamarin — прилоТСния для Android ΠΈ iOS
    • Π Π°Π·Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹

    ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ

    ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… тСстов

    Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹

    Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

    ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ

    Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ вСрсии

    Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с исполнитСлями тСстов

    xΠ•Π΄.Π½Π΅Ρ‚Ρ‚ΠΎ xunit.console MSBuild TestDriven.NET Visual Studio 2 Устройства
    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола 1.9.2+ & Ρ‡Π΅ΠΊ; 3a & Ρ‡Π΅ΠΊ; 3a & Ρ‡Π΅ΠΊ; 3a & Ρ‡Π΅ΠΊ; 3b (2012+)
    .NET Core
    (Windows, Linux, OS X)
    2.2+ & Ρ‡Π΅ΠΊ; 3b (2017+)
    Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Windows 2.1+ & Ρ‡Π΅ΠΊ; 3Π± (2015+) & Ρ‡Π΅ΠΊ; 3c
    Xamarin MonoAndroid 1 2.0+ & Ρ‡Π΅ΠΊ; 3c
    Π£Π½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Xamarin iOS 1 2.0+ & Ρ‡Π΅ΠΊ; 3c
    ↓ ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π½ΠΈΠΆΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ устарСли ↓
    Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
    (Windows 8.1, Windows Phone 8.1)
    2,0 — 2,1 & Ρ‡Π΅ΠΊ; 3Π± (2013+) & Ρ‡Π΅ΠΊ; 3c
    Windows Phone 8 (Silverlight) 2,0 — 2,1 & Ρ‡Π΅ΠΊ; 3c
    Xamarin MonoTouch (iOS Classic) 1 2.0 — 2,1 & Ρ‡Π΅ΠΊ; 3c
    1. ВрСбуСтся Xamarin для Visual Studio ΠΈΠ»ΠΈ Xamarin Studio.
    2. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Visual Studio Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Visual Studio Test Explorer, Visual Studio Code, vstest.console.exe ,
      ΠΈ dotnet test . ЭкспрСсс-выпуски Visual Studio Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.
    3. Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для запуска тСстов:
      a. https://github.com/xunit/xunit
      Π±. https://github.com/xunit/visualstudio.xunit
      c. https://github.com/xunit/devices.xunit

    ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Github

    Для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²ΠΊΠ»Π°Π΄Π΅ Π² xUnit.net, поТалуйста, ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ.

    Бсылки Π½Π° рСсурсы

    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ авторскиС ΠΏΡ€Π°Π²Π°

    АвторскиС ΠΏΡ€Π°Π²Π° Π½Π° части The Legion Of The Bouncy Castle

    АвторскиС ΠΏΡ€Π°Π²Π° Β©.NET Foundation. Взносы ΠΏΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ Π½Π° https://github.com/xunit/xunit/tree/gh-pages.

    ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ руководство ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ инфраструктуры DotNet для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

    .NET (произносится ΠΊΠ°ΠΊ «точСчная ΡΠ΅Ρ‚ΡŒΒ») — Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΉ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΈ нСизвСстный Π΄Ρ€ΡƒΠ³ΠΈΠΌ. Microsoft являСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DotNet, Π° ОБ Windows ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС. Начиная с ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ выпуска ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ DotNET, Microsoft Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΈ Π²Π²ΠΎΠ΄ΠΈΠ»Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.БСгодня ΠΌΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассмотрим структуры ΠΈ встроСнныС Π² Π½ΠΈΡ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° внСдрСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния матСринская компания внСсла ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния.

    • ОбновлСниС вСрсии Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°
    • НовыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ
    • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ бСзопасности
    • ВСрсии ΠΈ обновлСния Visual Studio

    Microsoft прСдставила .NET framework Π² ΠΊΠΎΠ½Ρ†Π΅ 1990-Ρ…, Π° ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ 2001 Π³ΠΎΠ΄Π° Π±Ρ‹Π»Π° Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π° пСрвая Π±Π΅Ρ‚Π°-вСрсия .NET framework 1.0. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ матСринская компания ΠΎΠ±Π½ΠΎΠ²ΠΈΠ»Π° Π΄ΠΎΠΌΠ΅Π½.NET бСзостановочно. Π”Π²Π° основных обновлСния Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ framework 2.0 ΠΈ 4.0, ΠΈ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ вСрсиСй ΠΎΠ½ пСрСстаСт ΡƒΠ΄ΠΈΠ²Π»ΡΡ‚ΡŒ ΠΌΠΈΡ€ Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями. Π’Π°ΠΊΠΈΠ΅ измСнСния ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Тизнь Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

    Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ структурС ΠΈ Π΅Π΅ функциям.

    АрхитСктура

    CLI (общая языковая инфраструктура)

    Common Language Infrastructure обСспСчиваСт Ρ€Π°Π²Π½ΠΎΠΏΡ€Π°Π²Π½ΡƒΡŽ ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для создания ΠΈ выполнСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйса ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ C #, VB.NET ΠΈ J #.

    CLR (общСязыковая срСда выполнСния)

    • ΠžΠ±Ρ‰Π΅ΡΠ·Ρ‹ΠΊΠΎΠ²Π°Ρ срСда выполнСния ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ .NET. Помимо этого, ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт Ρ‚Π°ΠΊΠΈΠ΅ услуги, ΠΊΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ², сборка мусора, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.
    • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€
    • JIT (Just-in-time) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·ΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ сСрвСром / ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ.

    FCL (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ€Π°ΠΌΠΎΡ‡Π½Ρ‹Ρ… классов)

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов

    Framework ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… языков программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ C #, VB, F # ΠΈ Ρ‚. Π”.

    Π­Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ классов, интСрфСйсов, Ρ‚ΠΈΠΏΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов.

    Π‘Π±ΠΎΡ€ΠΊΠΈ

    Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° сборок:

    1) Π‘Π±ΠΎΡ€ΠΊΠΈ процСссов (.EXE)

    Β«Π‘Π±ΠΎΡ€ΠΊΠ° процСсса» прСдставляСт собой процСсс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² сборках Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

    2) Π‘Π±ΠΎΡ€ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (.DLL)
    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°

    с динамичСской ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΎΠΉ — это рСализация Β«ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ раздСляСмой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΒ», с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠΎΠ΄Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… прилоТСниях.

    ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„Π°ΠΉΠ» сборки Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ для сборки. Имя Ρ„Π°ΠΉΠ»Π° сборки ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ имя, Π½ΠΎΠΌΠ΅Ρ€ вСрсии, язык ΠΈ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ ΠΈ Ρ‚. Π”.

    МодСли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

    МодСли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. .NET framework ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ модСль ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для консоли, Windows Forms, ASP.NET, Windows Presentation Foundation (WPF) ΠΈ .NET Core.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ DotNet, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Π΅Ρ‰Π΅ нСсколько Π²Π°ΠΆΠ½Ρ‹Ρ… вопросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слСдуСт ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ.

    • ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, доступныС Π² .NET, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
    • Как Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ

    Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Π² сСмСйствС .NET

    1) Π’Π•Π‘-Ρ„ΠΎΡ€ΠΌΡ‹

    Π’Π΅Π±-страницы

    .NET, ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ извСстныС ΠΊΠ°ΠΊ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΠ·Π½Π°ΠΌΠ΅Π½ΠΎΠ²Π°Π»ΠΈ выпуск Π² 2002 Π³ΠΎΠ΄Ρƒ ASP.NET framework 1.0. Π­Ρ‚ΠΎ структура Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, построСнная Π½Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ASP.NET, ΠΈ Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ написано Π½Π° C # ΠΈΠ»ΠΈ VB.NET.

    ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ

    МногиС сСрвСрныС элСмСнты управлСния Π·Π½Π°ΠΊΠΎΠΌΡ‹ с элСмСнтами управлСния HTML. Когда Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π²Π΅Π±-страница, HTML-ΠΊΠΎΠ΄ отобраТаСтся ΠΈ отправляСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€.

    Главная страница ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для опрСдСлСния согласованного ΠΌΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… страницах ASPX.

    URL Routing позволяСт прилоТСниям ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ URL-адрСса запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ физичСским Ρ„Π°ΠΉΠ»Π°ΠΌ ASPX.Π­Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ сопоставлСниС Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ URL-адрСса ΠΈ физичСского Ρ„Π°ΠΉΠ»Π°.

    Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ состояниСм позволяСт Π½Π°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС ΠΈ Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π΅ всСго прилоТСния.

    ΠžΡ‚ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ, спуфинга, ΠΎΡ‚ΠΊΠ°Π·Π° Π² обслуТивании Π΄ΠΎ раскрытия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Ρ‚. Π”. Microsoft ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ мноТСство Π²Π΅Ρ‰Π΅ΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ бСзопасным.

    Π’Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹

    ASP.NET ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Π²Π΅Π±-страницСй, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ состояниСм, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ элСмСнтов управлСния, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ эффСктивными ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ кодирования.

    • ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

    Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΠ°Ρ… ASP.NET. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΎΡ‚Π»Π°ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ для поиска ΠΈ устранСния Π»ΡŽΠ±Ρ‹Ρ… Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ошибок.

    ASP.NET, IIS ΠΈ Visual Studio ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ инструмСнты для развСртывания вашСго Π²Π΅Π±-прилоТСния ASP.NET.

    Когда слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹
    • Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· HTTP, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ события управлСния состояниСм ΠΈ управлСния сСрвСром.
    • Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Π½Π΅Π΅ слоТныС прилоТСния, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ; ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ WEB-Ρ„ΠΎΡ€ΠΌΡ‹ тСсно ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Π±-страницСй ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.
    • Если Ρƒ вас нСбольшая ΠΊΠΎΠΌΠ°Π½Π΄Π° с ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ числом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ быстро Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚ΠΎ это идСальная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.
    • Если трСбуСтся частая ΠΈ быстрая Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹.

    2) MVC

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ASP.NET MVC — это Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°, прСдоставляСмая Microsoft для создания Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.Π¨Π°Π±Π»ΠΎΠ½ модСль-прСдставлСниС-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ раздСляСт ΠΊΠΎΠ΄ ΠΈ прСдставлСниС, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΈΠΌ, Ρ…ΠΎΡ€ΠΎΡˆΠΎ тСстируСмым ΠΈ слабо связанным.

    ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ
    Π¨Π°Π±Π»ΠΎΠ½Ρ‹

    модСль-прСдставлСниС-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, прСдставлСниС ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ обСспСчиваСт быстроС ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ΅ тСстированиС.

    • Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ каркас

    MVC построСн Π½Π° Π»Π΅Π³ΠΊΠΎ замСняСмом ΠΈ настраиваСмом шаблонС.
    a) Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй (DI) позволяСт Π²Π°ΠΌ Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² любой класс.
    b) Π˜Π½Π²Π΅Ρ€ΡΠΈΡ управлСния (IOC) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

    Π‘ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ сопоставлСния URL-адрСсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ для адрСсации SEO ΠΈ REST.

    • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ

    MVC framework обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ страницы ASP.NET (.ASPX), ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ элСмСнты управлСния (.ASCX) ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ Π³Π»Π°Π²Π½Ρ‹Ρ… страниц (.master).

    • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ASP.NET-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

    MVC framework обСспСчиваСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ .NET, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° подлинности Windows, авторизация URL-адрСсов, члСнство ΠΈ Ρ€ΠΎΠ»ΠΈ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ профилями ΠΈ состояниСм, Π²Ρ‹Π²ΠΎΠ΄ ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚. Π”.

    Когда слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ MVC
    • Если Ρƒ вас слоТноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄ΠΈΠ·Π°ΠΉΠ½, ΠΊΠΎΠ΄, Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π²ΠΎΠ΄Π° ΠΈ Ρ‚. Π”.
    • MVC идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅Π±-прилоТСния.
    • Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, основанная Π½Π° тСстировании, MVC идСально ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚.
      Π£ вас Π΅ΡΡ‚ΡŒ большая ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π²Π΅Π±-Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² для создания ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Π΅Π±-прилоТСния.

    3) .NET Core

    .NET Core — это бСсплатная кроссплатформСнная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для создания соврСмСнных ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Windows, Linux ΠΈ macOS. .NET Core Π±Ρ‹Π» Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ Π² 2016 Π³ΠΎΠ΄Ρƒ ΠΈ Π² основном Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Microsoft, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

    ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ
    • ΠšΡ€ΠΎΡΡΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
      Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Windows, Linux ΠΈ macOS
    • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ встроСнных зависимостСй
      Бамая болСзнСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Ρ€Π΅ΡˆΠ΅Π½Π° Π² Π½ΠΎΠ²ΠΎΠΌ ASP.NET Core, ΠΊΠΎΠ³Π΄Π° для внСдрСния зависимостСй прСдусмотрСна встроСнная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°. Он прСдоставил простой способ внСдрСния контСкста Π‘Π”, контСкста вСдСния ΠΆΡƒΡ€Π½Π°Π»Π° ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€.
    • SignalR
      Он позволяСт сСрвСрам ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ асинхронныС Π²Π΅Π±-увСдомлСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ.
    • Π‘Π°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
      Π―Π΄Ρ€ΠΎ ASP.NET ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π² IIS ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π° собствСнном хостингС.
    Когда Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ .NET Core
    • ΠœΠ΅ΠΆΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ потрСбности
      Если прилоТСниям Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Windows, Linux ΠΈ macOS, Ρ‚ΠΎΠ³Π΄Π°.Net Core — подходящая ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.
    • АрхитСктура микросСрвисов
      АрхитСктура микросСрвисов Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ микросСрвисами ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ слуТбами.
    • ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹
      ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ вмСстС с микросСрвисами.
    • ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий .NET
      .NET Core ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ установку Ρ€Π°Π·Π½Ρ‹Ρ… вСрсий Π½Π° ΠΎΠ΄Π½ΠΎΠΌ сСрвСрС. ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… вСрсий ядра .NET обСспСчиваСт простоту ΠΈ экономию Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ срСдств, связанных с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ опСрациями.
    • Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅
      ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ DotNET Core ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΎ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ…
      • IIS
      • ΠŸΡƒΡΡ‚Π΅Π»ΡŒΠ³Π°
      • Apache
      • Nginx
      • Π”ΠΎΠΊΠ΅Ρ€
      • HTTP.sys
    • Π’Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ систСма
      .NET Core ΠΈ ASP.NET Core ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠΈΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ ΠΏΡ€ΠΈ использовании с микросСрвисами для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    Microsoft Π½Π°Ρ‡Π°Π»Π° с прСдоставлСния Π±Π°Π·ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС.NET Framework. НСсмотря Π½Π° появлСниС Π½ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Microsoft .NET ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π΅, ΠΊΠΎΠ³Π΄Π° Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½ΠΎΠΉ, слоТной ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²Π΅Π±-Ρ„ΠΎΡ€ΠΌΡ‹, MVC ΠΈ .NET Core ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½ΠΎ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ Π‘ появлСниСм ASP.NET Core ΠΎΠ½ стал популярным ΠΈ быстро принят Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ. ΠžΡ‚ сСбя Π»ΠΈΡ‡Π½ΠΎ я Π±Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Π΅Π» ΠΏΠΎ возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ новСйшиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ. Однако Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ зависит ΠΎΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ прилоТСния, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.НС ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π°ΠΌ, Ссли Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ вашим трСбованиям!

    ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы программирования .NET Framework

    .NET — это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈ экосистСма, разработанная ΠΈ поддСрТиваСмая Microsoft для упрощСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ популярная бСсплатная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, которая Π² настоящСС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для мноТСства Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½Π° прСдоставляСт срСду программирования для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° этапов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния..NET Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для прСдприятий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ΅Π½ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Π΅Π±-слуТбы, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ПК ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ инфраструктуры.

    Microsoft Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ .NET framework Π² ΠΊΠΎΠ½Ρ†Π΅ 90-Ρ…. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ этот инструмСнт ΠΏΡ€Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π» Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚Ρ€Π°Π½ΡΡ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ сопровоТдаСтся Π±ΠΎΠ³Π°Ρ‚ΠΎΠΉ экосистСмой, прСдставлСнной Π½Π° рисункС Π½ΠΈΠΆΠ΅.

    ЭкосистСма .NET Π΄ΠΎ 2016 Π³.

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET

    .NET поставляСтся Π² Ρ‚Ρ€Π΅Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ…: .NET Framework, .NET Core ΠΈ Xamarin.Π­Ρ‚ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… содСрТит Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для создания Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    .NET framework

    .NET Framework — пСрвая ΠΈ самая старая рСализация ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ‚Ρ€ΠΈ основныС ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — WPF, Windows Forms, ASP.NET Forms — ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов.

    Windows Presentation Foundation (WPF) — это инфраструктура ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для создания графичСских интСрфСйсов Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ОБ Windows.WPF ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ возмоТности Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠ³ΠΎ языка Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (XAML).

    Windows Forms — это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов GUI Π² .NET Framework. Windows Forms ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Π±ΠΎΠ³Π°Ρ‚ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ.

    ASP.NET. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ Π΄Π²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ², ASP.NET ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ динамичСских Π²Π΅Π±-сайтов ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ Π΅Π΅ ядрС находится срСда общСязыковой срСды (CLR) , которая Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ASP.NET Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках .NET. Common Language Runtime — это Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина прилоТСния, которая управляСт ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ доступа ΠΊ ΠΊΠΎΠ΄Ρƒ, провСряСт Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ обСспСчиваСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ ΠΊΠΎΠ΄Π°.

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов (BCL) прСдоставляСт Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ классы Π² пространствах ΠΈΠΌΠ΅Π½, ΠΈ являСтся ядром Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов Framework (FCL) , Π½Π°Π±ΠΎΡ€Π° ΠΌΠ½ΠΎΠ³ΠΎΡ€Π°Π·ΠΎΠ²Ρ‹Ρ… интСрфСйсов, классов ΠΈ Ρ‚ΠΈΠΏΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π»ΠΈΠ·ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° с Common Language Runtime (CLR) . ΠšΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡ FCL ΠΈ CLR составляСт .NET Framework.

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ .NET Framework ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ устройства Π½Π° Π±Π°Π·Π΅ Windows, Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² кроссплатформСнном ΠΏΠ°ΠΊΠ΅Ρ‚Π΅.

    .NET Core

    .NET Core Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ΠΎ Π² 2016 Π³ΠΎΠ΄Ρƒ. Π­Ρ‚ΠΎ кроссплатформСнная ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° .NET Framework. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ старой вСрсии, ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² Linux ΠΈ OS X ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ привязанныС ΠΊ сСмСйству Windows. Новая систСма Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° Π·Π°Π²ΠΎΠ΅Π²Π°Π½ΠΈΠ΅ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ пространства, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Digital Ocean, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Linux.НС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ .NET Core являСтся кроссплатформСнным, Π΅Π³ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ вСрсии ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ устройствС. .NET Core Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ASP.NET Core ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Windows (UWP).

    Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Windows (UWP) — это API, созданный Microsoft ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° всСх совмСстимых устройствах Microsoft Windows, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Windows, Windows Phone ΠΈ HoloLens.

    ASP.NET Core — это пСрСработанная вСрсия ASP.NET, которая оказалась Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ структурой, Ρ‡Π΅ΠΌ Π΅Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊ.ASP.NET Core позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ сСрвСрныС части, Π²Π΅Π±-прилоТСния ΠΈ слуТбы. Он Ρ‚Π°ΠΊΠΆΠ΅ кроссплатформСнный ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° OS X, Windows ΠΈ Linux.

    Xamarin

    Π’Ρ€Π΅Ρ‚ΡŒΡ рСализация называСтся Xamarin ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Mac. ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Xamarin разрабатывался нСзависимо ΠΎΡ‚ Microsoft ΠΈ Π±Ρ‹Π» ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ, ΠΏΠΎΠΊΠ° Microsoft Π½Π΅ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Π»Π° Π΅Π³ΠΎ Π² 2016 Π³ΠΎΠ΄Ρƒ, сдСлав ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π²Π΅Ρ‚Π²ΡŒ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET. Xamarin ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ срСду выполнСния Mono ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ.NET Framework Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API для iOS, Android ΠΈ Xamarin.Mac. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΎΠ±Π·ΠΎΡ€ этого ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с нашСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ΠΉ ΠΎ ΠΏΠ»ΡŽΡΠ°Ρ… ΠΈ минусах Xamarin.

    ВсС срСды выполнСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠ±Ρ‰ΡƒΡŽ инфраструктуру, которая обСспСчиваСт Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй экосистСмы. Он прСдоставляСт ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ срСды выполнСния, языки ΠΈ компиляторы.

    .NET Standard

    Π’ 2016 Π³ΠΎΠ΄Ρƒ Microsoft Ρ‚Π°ΠΊΠΆΠ΅ прСдставила .NET Standard, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, которая ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ API ΠΈΠ· .NET Framework, .NET Core ΠΈ Xamarin, позволяя ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ…, связанных с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ ΠΈΠ· Π½ΠΈΡ…. .NET рСализация. Π­Ρ‚ΠΎΡ‚ шаг объСдинил экосистСму ΠΈ повысил ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ….

    ЭкосистСма .NET послС 2016 Π³.

    ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET Π»ΡƒΡ‡ΡˆΠ΅ всСго Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Visual Studio IDE, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для создания, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… ΠΈ устройствах.

    Π’ настоящСС врСмя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярными рСализациями .NET ΡΠ²Π»ΡΡŽΡ‚ΡΡ .NET Core ΠΈ Xamarin. Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим прСимущСства ΠΈ нСдостатки использования.ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎ всСй экосистСмС, Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΡƒΠΊΠ°ΠΆΠ΅ΠΌ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….

    ΠŸΠ»ΡŽΡΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET

    ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ориСнтированная модСль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния

    .NET основана Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ (ООП) . ООП — это модСль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π² основС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅ΠΆΠΈΡ‚ идСя разбиСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ части, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΡ‰Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ООП раздСляСт Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚.Π΅.Π΅. поля Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ описываСт ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ содСрТимоС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² посрСдством объявлСния классов.

    ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ структура ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΈΡ… взаимодСйствия Π±Π΅Π· управлСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ООП ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, дСлая ΠΊΠΎΠ΄ управляСмым, Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ для тСстирования ΠΈ рСагирования Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ мСньшС ΠΊΠΎΠ΄Π° для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². .NET позволяСт ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, экономя врСмя ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

    НадСТная ΠΈ простая систСма ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ

    ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… быстрСС ΠΏΡ€ΠΈ нСобходимости. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π½Π½Π΅Π³ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ запроса ΠΈΠ»ΠΈ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, хранящСйся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… мСстах, для получСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ потрСбуСтся большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

    БистСма ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² .NET Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΈ проста Π² использовании. Он Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ. Класс Object Cache позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ кэша, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ клиСнтских ΠΈ сСрвСрных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows.

    Visual Studio IDE

    Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (IDE) — это Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ для программистов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, прСдоставляя всС инструмСнты для написания ΠΈ тСстирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния.

    Visual Studio — это срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Microsoft, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для создания, ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° всСх ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Android ΠΈ iOS. Visual Studio ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° с .NET ΠΈ прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языковой срСды.

    ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности Visual Studio IDE:

    • Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Сдиная IDE для всСх.NET
    • Π’ IDE встроСны Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ компиляции ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.
    • РСшСниС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, основанных Π½Π° ΠΊΠΎΠ΄Π΅, написанном Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках.
    • Visual Studio позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ срСду Π² соотвСтствии с прСдпочтСниями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Visual Studio Marketplace ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ спСктр Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΎΡ‚ Microsoft ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… поставщиков для обСспСчСния совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅, Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ, сторонних ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, управлСния ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Ρ‚. Π”.

    ΠšΡ€ΠΎΡΡ-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ языка .NET Core

    .NET Core — это кроссплатформСнная рСализация .NET, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² OS X, Windows ΠΈ Linux. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ исходной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ .NET, которая являСтся лишь частично ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ, .NET Core ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ΅ сообщСство ΠΌΠΎΠΆΠ΅Ρ‚ постоянно Π²Π½ΠΎΡΠΈΡ‚ΡŒ свой Π²ΠΊΠ»Π°Π΄ Π² Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

    Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π½Π° C #, F # ΠΈΠ»ΠΈ Visual Basic, ваш ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· совмСстимых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.Π­Ρ‚ΠΎ позволяСт компаниям ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ самыС Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, ΠΎΡΡ‚Π°Π²Π°ΡΡΡŒ Π² экосистСмС .NET. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя кроссплатформСнный Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ языка Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎ всС сообщСство .NET с большим Π½Π°Π±ΠΎΡ€ΠΎΠΌ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π½Π°Π²Ρ‹ΠΊΠΎΠ² подСлится своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ. Π’ настоящСС врСмя .NET ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 25 языков, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ C #, Visual Basic.NET, J #, Managed C ++, IronPython ΠΈ IronRuby.

    ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ языка .NET
    Π“ΠΈΠ±ΠΊΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΈ простота обслуТивания

    Одно ΠΈΠ· Π²Π°ΠΆΠ½Ρ‹Ρ….NET Core — это Π³ΠΈΠ±ΠΊΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅. Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ вашСго прилоТСния ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ установки. ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ конструкция позволяСт Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости. Π‘Π°ΠΌΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΆΠ΅ просто, ΠΊΠ°ΠΊ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ.

    Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ прСимущСством являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько вСрсий .NET Core, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ бСспрСпятствСнно Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ развСртывания.

    Universal .NET Standard

    Π‘ 2016 Π³ΠΎΠ΄Π° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅.ЭкосистСма .NET Π±Ρ‹Π»Π° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π° большой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ классов ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ .NET Standard. Он основан Π½Π° количСствС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов для .NET Framework, .NET Core ΠΈ Xamarin. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±Ρ‰ΠΈΠΌΠΈ функциями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ, взаимодСйствиС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ манипуляции с XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° .NET Standard Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ упростила Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°.

    Π”ΠΎ появлСния .NET Standard программисту ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π·Π°Π½ΠΎΠ²ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ для Π½ΠΎΠ²ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ всС обновлСния ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌ.Π’ настоящСС врСмя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС зависимыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² прилоТСниях. Однако Π²Π°ΠΌ слСдуСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ вСрсий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ .NET Standard.

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ своСго ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° с .NET Standard здСсь ΠΈ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ обновлСния Π½Π° сайтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Microsoft
    Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ сообщСство

    .NET ΠΈΠΌΠ΅Π΅Ρ‚ большоС сообщСство Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² ΠΈΠ· ΠΌΠ°Π»Ρ‹Ρ…, срСдних ΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ практичСски Π»ΡŽΠ±Ρ‹Π΅ вопросы ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ участников сообщСства.

    ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ .NET Core ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, Π΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, срСда выполнСния ΠΈ компилятор доступны Π½Π° GitHub ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ². Богласно опросу Stack Overflow 2018, Π΄Π²Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° .NET входят Π² ΡˆΠΎΡ€Ρ‚-лист самых популярных Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: .NET Core находится Π½Π° Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΠΎΠΌ мСстС, Π° Xamarin — Π½Π° дСвятом.

    Π‘Π°ΠΌΡ‹Π΅ популярныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Stack Overflow Survey 2018

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт нСзависимая организация ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ .NET Foundation, которая способствуСт ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈ совмСстной Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄.NET-экосистСма. БообщСство .NET ΠΈ коммСрчСскиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΡƒΠΌ для ΠΎΠ±ΠΌΠ΅Π½Π° идСями.

    АвтоматичСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π² ASP.NET

    ASP.NET ΠΈΠΌΠ΅Π΅Ρ‚ встроСнный автоматичСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³. Windows Web Server строго ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π΅Π±-страницы ΠΈ прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π° Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚. Π’ случаС возникновСния ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти ΠΈΠ»ΠΈ бСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹, ΠΎΠ½ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ ΠΎ Π½ΠΈΡ…. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ процСссы. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ.NET-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    НСдостатки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET

    НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ .NET считаСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых ΡΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈΠ·-Π·Π° ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠΉ инфраструктуры ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½ΠΎΠΉ истории Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΎΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ряд ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

    ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°Ρ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционная ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

    Как ΠΌΡ‹ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ Π²Ρ‹ΡˆΠ΅, .NET ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠ·Ρ‹ΠΊΠΎΠ²ΡƒΡŽ модСль ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования (ООП). Π­Ρ‚Π° модСль основана Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, Π° Π½Π΅ Π½Π° «дСйствиях» ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ΅.ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄Π°Π½Π½Ρ‹Π΅, Π² .NET Framework обСспСчиваСтся Entity Framework.

    Entity — это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционный ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ (ORM), ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ .NET Framework ΠΈ рСляционныС (SQL) Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. НСкоторыС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Entity Framework нСдостаточно гибкая ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС доступныС конструкции Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Entity Framework ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Другая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Microsoft Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ заставит вас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ поставщик.

    Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΌΡ‹ Π΅Ρ‰Π΅ Π½Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ с Entity, поэтому это остаСтся спорным ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ.

    ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Ρƒ

    Π’Ρ‚ΠΎΡ€ΠΎΠΉ нСдостаток частично связан с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌ. .NET Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ основан Π½Π° Microsoft. Π₯отя .NET Core ΠΈ Xamarin ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄, вся экосистСма Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ управляСма сообщСством. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ваши ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ зависят ΠΎΡ‚ поставщика ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Microsoft.

    Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ

    Π—Π΄Π°Π½ΠΈΠ΅.NET Π½Π΅ ΠΈΠ· Π΄Π΅ΡˆΠ΅Π²Ρ‹Ρ… нСзависимо ΠΎΡ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π’ основном ваши расходы Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π°Ρ‡Π΅Π½Ρ‹ Π½Π° Visual Studio IDE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ услуги для совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ обСспСчСния качСства, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Microsoft ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ для упрощСния вашСй Ρ€Π°Π±ΠΎΡ‚Ρ‹. На сСгодняшний дСнь базовая вСрсия Visual Studio Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π²Π°ΠΌ 539 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄ Π½Π° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°. ΠšΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ выпуск, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Π΅ срСды, ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ контроля качСства ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅, Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‚ΠΎΠΈΡ‚ΡŒ ΠΎΠΊΠΎΠ»ΠΎ 3000 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π² Π³ΠΎΠ΄. Однако Π²Ρ‹ всС Ρ€Π°Π²Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΡ‚Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€ΠΎΠΌ Microsoft, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько ΠΏΠ»Π°Ρ‚Π½Ρ‹Ρ… подписок.

    НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ .NET Core Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°Ρ… Mac ΠΈ Linux, Π»ΡƒΡ‡ΡˆΠΈΠΉ способ — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Windows для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ .NET, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ связано с Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ Π½Π° Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

    Π‘Π°Ρ€ΡŒΠ΅Ρ€ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Π΅ Π²Ρ‹ΡˆΠ΅, Ссли Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ использовали ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Microsoft ΠΈ Π²Π°ΠΌ придСтся ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ, скаТСм, с ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠΉ экосистСмы AWS Π½Π° Azure.

    Π Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ выпуском ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ

    Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, эта ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠ°Π»Π΅Ρ‡ΠΈΡ‚ всС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ Microsoft, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ стСк .NET. Но ΠΎΠ± этом ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ.Π’ Π½Π΅Π΄Π°Π²Π½ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… отсутствуСт надлСТащая докумСнтация, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ измСнСниям. Π’ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² AltexSoft наши Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ DocumentDB (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Azure Cosmos DB), Π½ΠΎ Π·Π°Ρ‚Π΅ΠΌ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈΠΌΠ΅Π» ряд тСхничСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·Ρƒ вСсь ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

    Один ΠΈΠ· ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Y Combinator ярко описал эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ: Β« Моя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΡΡ‚Π°Ρ‚ΡŒΡΠΌΠΈ / Π²ΠΈΠ΄Π΅ΠΎ с Π΅Π²Π°Π½Π³Π΅Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Microsoft состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ всСгда каТСтся, Ρ‡Ρ‚ΠΎ Microsoft ΡƒΠΆΠ΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° свою Π½ΠΎΠ²ΡƒΡŽ Π³ΠΎΡ€ΡΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΌΠΈΡ€Ρƒ, Ρ‡Ρ‚ΠΎ это Π½Π΅ Ρ‚Π°ΠΊ. ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅, ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ производству.Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ приступаСтС ΠΊ Π΅Π³ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΈ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΏΠΎΠΊΠΈΠ΄Π°Π΅Ρ‚Π΅ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΈΡ€ ΠΈΡ… дСмонстрации, всС разваливаСтся, ΠΈ Π’ΠžΠ“Π”Π Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±Ρ‹Π»ΠΈ написаны для Π±Π΅Ρ‚Π°-вСрсии ΠΈ большС Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π°Π΄Π°Ρ‚ΡŒ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ сигнатурС Π²Ρ‹Π·ΠΎΠ²Π° для Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ Π²Π°ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Β».

    К Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ нСдостаткам относятся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠ΅ ΠΈΠ·-Π·Π° сборки мусора Π² Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… систСмах. И, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, управляСмыС срСды ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.

    Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ .NET

    ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹ . ΠžΠ±Ρ‹Ρ‡Π½ΠΎ потрСбности бизнСса растут, ΠΈ вашС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ вмСстС с Π½ΠΈΠΌΠΈ. .NET прСдоставляСт ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ срСду ΠΈ позволяСт ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ прилоТСния Π² соотвСтствии с растущими потрСбностями бизнСса.

    ΠœΠ΅ΠΆΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ потрСбности. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, .NET Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ усилия ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠ² Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм.ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, .NET ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊ ΠΈΠ³Ρ€Ρ‹ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Xbox) ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ HoloLens).

    Π˜Π½Ρ„Ρ€Π°ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° прСдприятия. Π­Ρ‚ΠΎ всС Π΅Ρ‰Π΅ спорный вопрос, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π»ΠΈ .NET Π² основном для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ использования. Но Microsoft стараСтся ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ самый ΡˆΠΈΡ€ΠΎΠΊΠΈΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов для создания ΠΈ кросс-ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ…, Ρ‚Π°ΠΊ ΠΈ общСдоступных. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΡƒΡŽ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΡƒΡŽ экосистСму.

    Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ — Ρ‡Π°ΡΡ‚ΡŒ нашСй сСрии Β«Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ΅Β».Если вас интСрСсуСт Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с сообщСниями Π² нашСм Π±Π»ΠΎΠ³Π΅:

    Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Xamarin

    Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Π² Angular-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅

    Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ JavaScript Full Stack

    Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΠ΅ стороны Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Node.js

    Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΠ΅ стороны ReactJS ΠΈ React Native

    Π₯ΠΎΡ€ΠΎΡˆΠΈΠ΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΠ΅ стороны языка программирования Swift

    ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π² Π±Π»ΠΎΠ³Π΅ AltexSoft β€œ Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ΅ Π².

    ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

    Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *