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

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

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

ΠŸΡ€ΠΈ этом Π²Π°ΠΆΠ½Ρ‹ΠΌ понятиСм являСтся Π΄ΠΎΠΌΠ΅Π½ прилоТСния, Ρ€Π°Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π°Ρ… Π² связи с Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Remoting ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ тСхнологиями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚ созданиС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ распрСдСлСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² срСдС. NET, Π² частности WCF, Π²Π΅Π±-сСрвисы. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ логичСском ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ сборок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ примСняСтся для осущСствлСния Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ изоляции прилоТСния Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса. КакиС Π²Π°ΠΆΠ½Ρ‹Π΅ свойства Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, говоря ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹Ρ… прилоТСниях? Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΌΠ΅Π½Ρ‹ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. CLR ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄ΠΎΠΌΠ΅Π½Π° со всСми сборками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² этих Π΄ΠΎΠΌΠ΅Π½Π°Ρ…. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ осущСствлСниС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… настроСк ΠΈ надстроСк, связанных с обСспСчСниСм бСзопасности, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· Π΄ΠΎΠΌΠ΅Π½ΠΎΠ². Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠ°Ρ€ΡˆΠ°Π»Π»ΠΈΠ½Π³Π°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡŒ, β€“ это ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΈΠ»ΠΈ процСссов. ΠŸΡ€ΠΈ этом Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ осущСствляСтся Π² бСзопасном Ρ€Π΅ΠΆΠΈΠΌΠ΅. Π˜Π·Π²Π΅ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ сущСствуСт ΠΌΠ°Ρ€ΡˆΠ°Π»Π»ΠΈΠ½Π³ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, ΠΏΠΎ ссылкС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, домСнная модСль ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅. NET Framework, сущСствуСт компонСнтная модСль, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ основными элСмСнтами ΡΠ²Π»ΡΡŽΡ‚ΡΡ сборки. А Ссли бСрСтся Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠ°Ρ модСль COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π² частности, ΠΊΠ°ΠΊ это, скаТСм, происходит ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с офисными ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ прилоТСниями, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ COM InterOP ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΏΠ΅Ρ€Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, взаимодСйствиС. NET-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΏΠΎ сути, NET-сборок с COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. ΠŸΡ€ΠΈ этом Π½Π΅ трСбуСтся рСгистрации ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² рССстрС Windows, Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ. NET-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π§Ρ‚ΠΎ касаСтся Π²ΠΈΠ΄ΠΎΠ² сборок, Π²Ρ‹Π΄Π΅Π»ΡΡŽΡ‚ΡΡ частныС ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅, Private ΠΈ Shared ΠΈΠ»ΠΈ раздСляСмыС сборки. Если Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ частной сборкС, Ρ‚ΠΎ Ρ‚ΠΎΡ‚ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΈΠΏΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π½Π΅ΠΉ описан, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прилоТСниями, Π² состав ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ…ΠΎΠ΄ΠΈΡ‚ эта сборка. Если Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ сборках ΠΎΠ±Ρ‰Π΅Π³ΠΎ доступа, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π»ΡŽΠ±Ρ‹ΠΌ количСством ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌ Π½Π° клиСнтском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π Π°Π½Π΅Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ ΠΎ взаимодСйствии. NET-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Ρ‚. Π΅. ΠΏΠΎ сути – сборок ΠΈ COM-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ класса ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ВзаимодСйствиС этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² срСдС CLR Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° основС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΠΎΠ»ΠΎΡ‡Π΅ΠΊ Runtime Callable Wrapper (RCW), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ инкапсулируСт различия ΠΌΠ΅ΠΆΠ΄Ρƒ управляСмым ΠΈ нСуправляСмым ΠΊΠΎΠ΄ΠΎΠΌ.

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

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

ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° осущСствляСт ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ сборкой мусора Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ срСды CLR. ΠŸΡ€ΠΈ этом Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° сущСствСнно упрощаСтся, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΡ‚ программиста Π½Π΅ трСбуСтся слСТСниС Π·Π° динамичСской ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΈ своСврСмСнноС Π΅Π΅ освобоТдСниС. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ сборки ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, запустив ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая называСтся ILDAsm.exe (Intermediate Language Dis Assembler). Π­Ρ‚ΠΎ достаточно интСрСсная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π΅Π΅ функционирования, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° являСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΈ восстанавливаСт ΠΊΠΎΠ΄ фактичСски с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ± ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ дизассмСблСрС, Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½ вмСсто ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² вставляСт ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ свои, систСмныС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΈ ΠΊΠΎΠ΄ достаточно тяТСло Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Если для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ простоС консольноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° C#, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ СдинствСнноС сообщСниС Π½Π° экран – Β«Hello WorldΒ», Ρ‚ΠΎ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π’ΠΎΡ‚ SimpleApp – пространство ΠΈΠΌΠ΅Π½, класс Ρƒ нас называСтся Class1 ΠΈ Π½ΠΈΠΊΠ°ΠΊ ΠΈΠ½Π°Ρ‡Π΅, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ WriteLine Π²Π½ΡƒΡ‚Ρ€ΠΈ стандартного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Main.

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ILDAsm, Ссли Π΅Π³ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊ сборкС, которая ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΈΠ· этого прилоТСния. ВосстанавливаСтся вСсь Π²ΠΈΠ΄ сборки, ΠΏΡ€ΠΈ этом Π² MSIL-ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ всС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π² C#. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Class1: сущСствуСт Π²Ρ‹Π·ΠΎΠ² стандартной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ WriteLine с использованиСм СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° String, ΠΏΡ€ΠΈ этом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ пространство ΠΈΠΌΠ΅Π½ System, ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ класс Console, Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ WriteLine. НСсколько ΠΈΠ½Π°Ρ‡Π΅ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ обозначСния, Π½ΠΎ этот тСкст ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ читаСтся, нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это ассСмблСр. Он Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ строчку Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ осущСствляСт Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ управлСния ΠΈΠ· этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹.

На ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ частный ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΎΠ½ сохраняСт всС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, связанныС с доступом, всС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ доступа ΠΈ прСдставлСнныС Π² графичСском Π²ΠΈΠ΄Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ сборки. Π­Ρ‚ΠΎ манифСст, Ρ‚. Π΅. ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ сборки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΈΠ· прилоТСния SimpleApp.exe, Ρ‚. Π΅. ΠΈΠ· EXE-Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, казалось Π±Ρ‹, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ прилоТСния, имя Class1 ΠΈ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ всС ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅, всС рСсурсы.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствуСт срСдство Reflection, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎ DLL ΠΈΠ»ΠΈ ΠΏΠΎ EXE-Ρ„Π°ΠΉΠ»Ρƒ, Ρ‚. Π΅. ΠΏΠΎ сборкС, собствСнно ΠΊΠΎΠ΄. И ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ΄Π½ΠΎ Π½Π° экранС, β€“ фактичСски наш исходный ΠΊΠΎΠ΄, написанный Π½Π° C#. Если ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдство Reflection, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· exe-Ρ„Π°ΠΉΠ»Π° фактичСски Π² Ρ‚ΠΎΠΌ Π²ΠΈΠ΄Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ Π±Ρ‹Π» написан Π°Π²Ρ‚ΠΎΡ€ΠΎΠΌ. Π­Ρ‚ΠΎ Ρ‚Π°ΠΈΡ‚ Π² сСбС нСприятности ΠΈ опасности, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ авторскоС ΠΏΡ€Π°Π²ΠΎ ΠΈ ΠΊΠΎΠ΄ ΠΎΡ‚ просмотра. БущСствуСт срСдство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ называСтся Obfuscator, ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒ. Оно внСдряСт ряд ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅, Π² ΠΎΠ±Ρ‰Π΅ΠΌ мСняСт структуру ΠΊΠΎΠ΄Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ слоТно, глядя Π½Π° Π½Π΅Π³ΠΎ, ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ ΠΈΠ· ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ мСста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ вызываСтся. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Microsoft борСтся с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ восстановлСния прямого ΠΊΠΎΠ΄Π°. Но Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Reflection – ΠΎΡ‡Π΅Π½ΡŒ сильноС срСдство, Ссли Π½Π΅ Π·Π°Ρ‰ΠΈΡ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Подводя ΠΈΡ‚ΠΎΠ³, слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ряд Π²Π°ΠΆΠ½Ρ‹Ρ… прСимущСств. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, это сниТСниС стоимости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… систСм. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, появляСтся большС возмоТностСй для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ³ΠΎ использования ΠΊΠΎΠ΄Π°. Π’ΠΎΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создан Π² Π²ΠΈΠ΄Π΅ сборок, ΠΈΠΌΠ΅Π΅Ρ‚ стандартныС интСрфСйсы, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ стандартныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈ Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ вСдСтся Ρ†Π΅Π»Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½ΠΎ, с Ρ†Π΅Π»ΡŒΡŽ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ долю ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Ρ‚ΠΎ композиция ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ эти самыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, эти самыС сборки пригодятся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΡ€ΠΈ использовании Π² Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. ΠŸΡ€ΠΈ этом, СстСствСнно, Ссли потрСбуСтся коррСкция ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ, Π² ΠΈΠ΄Π΅Π°Π»Π΅ – ΠΎΠ΄Π½ΠΎΠΉ сборки ΠΈΠ»ΠΈ нСбольшого количСства сборок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ взаимосвязаны ΠΈΠ»ΠΈ связаны с Ρ‚ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ, которая мСняСтся ΠΈΠ»ΠΈ дорабатываСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π½ΠΎΠ²ΠΎΠ³ΠΎ тСхничСского задания ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ соглашСния, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ³ΠΎ с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ. И Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, концСпция ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Π½Π΅ зависит ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм. НСваТно, создаСтся Π»ΠΈ ΠΊΠΎΠ΄ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ языкС, Π² Ρ€Π°ΠΌΠΊΠ°Ρ…. NET с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния CLR Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ, Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. Π‘ΡƒΠ΄ΡŒ это dll Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° ΠΈΠ»ΠΈ exe-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Π³ΠΎ ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ нСсколько ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ стандартныС интСрфСйсы, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π° Π»ΡŽΠ±Ρ‹Ρ… языках программирования, ΠΈΠ»ΠΈ просто Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅ языки программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. NET, Π° ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· измСнСния ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, высокий ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния быстро ΠΈ Π² ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ΄Π°.