Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ проСктирования ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… систСм». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 54

Автор Π‘Π΅Ρ€Π³Π΅ΠΉ Π—Ρ‹ΠΊΠΎΠ²

Рис. 8.1. АрхитСктурная схСма. NET Framework ΠΈ Visual Studio.NET

Рис. 8.2. Π‘Ρ…Π΅ΠΌΠ° компиляции Π² Common Language Runtime

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

ЕстСствСнно, трансляция осущСствляСтся Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» языка MSIL – это ассСмблСр высокого уровня, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² 3–5 Ρ€Π°Π· ΠΏΠ»ΠΎΡ‚Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ассСмблСр, Ссли Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, процСссор Intel 8086 ΠΈΠ»ΠΈ ассСмблСр Z80.

Рис. 8.3. Π‘Ρ…Π΅ΠΌΠ° выполнСния CLR

ΠŸΡ€ΠΈ этом Π² рядС случаСв Π½Π΅ прСдставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ Π² управляСмый ΠΊΠΎΠ΄. К соТалСнию, Ρ€Π°Π±ΠΎΡ‚Π° с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, нСбСзопасна, ΠΈ Π² этом случаС программист обязан ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ этот Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΊΠ°ΠΊ нСуправляСмый ΠΊΠΎΠ΄. Он транслируСтся ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ, Π±Π΅Π· MSIL, ΠΈ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΡƒΠΆΠ΅ ΠΊΠ°ΠΊ нСуправляСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – ΠΈ Π² этом случаС ΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π»Π΅ΠΆΠΈΡ‚ Π½Π° программистС. Π’ любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС компилятор ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ сборку Π² исходный тСкст. ПослС Ρ‡Π΅Π³ΠΎ осущСствляСтся сборка с использованиСм JIT-компилятора Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ CLR, ΠΈ, ΠΏΠΎ сути, ΠΈΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π° Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Ρ‚. Π΅. взаимодСйствиС со срСдой Windows ΡƒΠΆΠ΅ скомпилированного ΠΈ собранного прилоТСния.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдоставляСт срСда CLR:

β€’ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° стандартных Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» создания Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²;

β€’ ΠΌΠ΅ΠΆΡŠΡΠ·Ρ‹ΠΊΠΎΠ²Π°Ρ интСграция:

– Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ΄ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ЯП классов Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ЯП;

– ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ЯП ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ ЯП;

– ΠΈ Ρ‚. Π΄.

β€’ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ классов для всСх ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ЯП;

β€’ ΡΠ°ΠΌΠΎΠΎΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ – Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² (IDL, TLB, Proxy/Stub ΠΈ Ρ‚. ΠΏ.); ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ являСтся самодостаточным, ΠΈΠΌΠ΅Π΅Ρ‚ всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для встраивания Π΅Π³ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΈ разворачивания;

β€’ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° вСрсий ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ сборок ΠΊΠΎΠ΄Π°;

β€’ ΡΠ΅Ρ€Π²ΠΈΡΡ‹ бСзопасности (Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π΅Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ рСсурсам для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ – Role-Based Security, доступ Π½Π° основС бСзопасности ΠΊΠΎΠ΄Π° – Code-Based Security ΠΈ Π°Π²Ρ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, вСрсия сборки ΠΈ Π΄Ρ€.).

Рассмотрим Ρ€Π°Π±ΠΎΡ‚Ρƒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ систСмы Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ (рис. 8.4).

Π’ основС Π»Π΅ΠΆΠΈΡ‚ понятиС базисного Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π². NET называСтся System.Object (это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Java). Он дСлится Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ – Ρ‚ΠΈΠΏΡ‹-ссылки ΠΈ Ρ‚ΠΈΠΏΡ‹-значСния, ΠΏΡ€ΠΈ этом Ρ‚ΠΈΠΏΡ‹-значСния ΠΈ Ρ‚ΠΈΠΏΡ‹-ссылки Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ хранятся ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ. Π’ΠΈΠΏΡ‹-значСния ΠΏΡ€ΠΈ создании экзСмпляра класса ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· вводятся Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Ρ‚. Π΄.

Π’ΠΈΠΏΡ‹-ссылки – это классы, интСрфСйсы, массивы, Π΄Π΅Π»Π΅Π³Π°Ρ‚Ρ‹ ΠΈ Ρ‚. Π΄.

Π’ΠΈΠΏΡ‹-значСния – это пСрСчислимыС Ρ‚ΠΈΠΏΡ‹ структуры ΠΈ простыС Ρ‚ΠΈΠΏΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ цСлочислСнный, логичСский ΠΈ Ρ‚. Π΄. ВсС Ρ‚ΠΈΠΏΡ‹, опрСдСляСмыС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, фактичСски ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ-ссылками. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠΌΠ΅Π΅Ρ‚ мСсто строгая иСрархия классов.

Рис. 8.4. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ систСма Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ (UTS)

Π’ основС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. NET Π»Π΅ΠΆΠΈΡ‚ понятиС «сборка».

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΊΠΎΠ΄Π° (assembly) β€“ Π³Ρ€ΡƒΠΏΠΏΠ° рСсурсов, Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ эти рСсурсы ΠΈ Ρ‚ΠΈΠΏΡ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для функционирования ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π‘Π±ΠΎΡ€ΠΊΠ° рСализуСтся ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. Π‘Π±ΠΎΡ€ΠΊΠ° – это самодостаточная Π΅Π΄ΠΈΠ½ΠΈΡ†Π° ΠΊΠΎΠ΄Π°.

К особСнностям сборок ΠΊΠΎΠ΄Π° ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго относятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

β€’ ΡΠ±ΠΎΡ€ΠΊΠ° распространяСтся ΠΈ рСализуСтся ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅;

β€’ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ сборки содСрТат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ зависимостях ΠΌΠ΅ΠΆΠ΄Ρƒ рСсурсами, вСрсиях ΠΈ Ρ‚. ΠΏ.;

β€’ ΡΠ±ΠΎΡ€ΠΊΠ° характСризуСтся Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ вСрсии (послСдняя, спСцифичная ΠΈ Ρ‚. ΠΏ.).

На ΡƒΡ€ΠΎΠ²Π½Π΅ сСрвисов Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

β€’ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ. NET – «ПО ΠΊΠ°ΠΊ сСрвис»;

β€’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ – ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сСрвисов (рис. 8.5);

β€’ ΡΠ΅Ρ€Π²ΠΈΡΡ‹ доступны Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ классов любого ЯП для. NET.

На Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ систСмныС сСрвисы Microsoft Windows. На Π±ΠΎΠ»Π΅Π΅ высоких уровнях – Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ надстройки, сСрвисы для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, сСрвисы интСрфСйсныС ΠΈ Ρ‚. Π΄. БСрвисы. NET находятся Π½Π° Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅, Ρ‡Π΅ΠΌ сСрвисы для Windows.

Рис. 8.5. АрхитСктура. NET – ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сСрвисов

И для любого языка программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ для. NET, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти систСмныС сСрвисы. NET, это фактичСски просто элСмСнты классов. NET, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны для любого языка.

Абстрактная машина. NET. CLR располагаСтся Π½Π°Π΄ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ сСрвисов ОБ (Windows CE, Windows ME, Windows 2000, Windows.NET).

БистСмныС сСрвисы Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π°Π΄ CLR (доступ – Ρ‡Π΅Ρ€Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ классов): доступ ΠΊ функциям ОБ, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ сСрвисы ΠΈ Ρ‚. ΠΏ.; Π΅Ρ‰Π΅ Π²Ρ‹ΡˆΠ΅ – ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ сСрвисы для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΡƒΠ·Π»ΠΎΠ², Π²Π΅Π±-сСрвисов, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… интСрфСйсов (GUI).

Π’Π΅Π±-прилоТСния – Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ – сСрвСр с доступом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ (тСхнология ASP.NET).

РаспрСдСлСнныС прилоТСния Π½Π° основС ΠΈΠ½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ взаимодСйствия ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² XML Web Services – Π½Π° основС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… стандартов, NET Remoting – Π½Π° основС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ² Microsoft ΠΈ Ρ†Π΅Π»Ρ‹ΠΉ ряд Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ².

По сути, NET прСдставляСт собой Π²ΠΈΠ΄Ρ‹ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… классов для сСрвисов:

β€’ Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ сСрвисам ОБ (Windows CE, ME, 2000, NET);

β€’ Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ графичСским функциям (двумСрная Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹, Π² Ρ‚ΠΎΠΌ числС тСхнология ClearType, интСграция с GDI ΠΈ DirectX);

β€’ ΡΠ΅Ρ‚Π΅Π²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ;

β€’ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ;

β€’ Π³Π»ΠΎΠ±Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ;

β€’ ΠΊΡ€ΠΈΠΏΡ‚ография;

β€’ Π΄ΠΎΡΡ‚ΡƒΠΏ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ (Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° классов ADO+ ΠΈ OLE DB-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹);

β€’ ΠΊΠ»Π°ΡΡΡ‹ для срСдств Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (ΠΎΡ‚Π»Π°Π΄ΠΊΠ°, трассировка, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСсурсами, компиляция, установка ПО, ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий ΠΈ Ρ‚. Π΄.);

β€’ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ классы (Π² Ρ‚ΠΎΠΌ числС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° SOAP).

НазначСниС Windows Forms – обСспСчСниС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° основС сСрвисов Microsoft.NET ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ классов.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ – унификация доступа:

β€’ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ классов;

β€’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ распространСния сСрвисов;

β€’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вСрсий;

β€’ ΡΠ΅Ρ€Π²ΠΈΡΠ°ΠΌ бСзопасности.

Π’Ρ‹Π²ΠΎΠ΄: созданиС Windows-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Microsoft.NET Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ сущСствСнныС прСимущСства, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство классов ΡƒΠΆΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ, ΠΈ остаСтся Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ API-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ.

НазначСниС Web Forms β€” основа Π²Π΅Π±-сСрвисов ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Microsoft.NET.