Π ΠΈΡ. 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.