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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡΠ½ΠΎΠ²Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 39

Автор Π‘Π΅Ρ€Ρ‚Ρ€Π°Π½ ΠœΠ΅ΠΉΠ΅Ρ€

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, вопросы имСнования - это Π½Π΅ космСтика. Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰Π΅Π΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ использованиС ПО - это ПО, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ прСдоставляСт ΠΈΡ… ΠΏΠΎΠ΄ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

ИмСна, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ здСсь для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ стСков, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ соглашСний ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ придСрТиваСмся Π²ΠΎ всСй ΠΊΠ½ΠΈΠ³Π΅.

МоТно Π»ΠΈ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· абстракций?

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

Π­Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ справСдливо ΠΈ для абстрактных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Π₯отя Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ПО всСгда с пользой примСняли Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ (вслСдствиС Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ образования ΠΈΠ»ΠΈ просто ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ), ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π½Ρ‹Π½Π΅ систСм Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° этой Ρ†Π΅Π»ΠΈ.

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

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ своСго ассистСнта я взялся Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΊΠ°Π·Π°Π²ΡˆΡƒΡŽΡΡ достаточно ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ, хотя Π΅ΠΉ ΠΈ Π½Π΅ ΡƒΡ‡Π°Ρ‚ Π² курсах ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ПО, - ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ€Π°Π·Π±ΠΎΡ€ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘ΡƒΠ΄ΡƒΡ‡ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ Π² сСбС, ΠΌΡ‹ быстро нашли ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΠ±Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ отправитСля, ΠΈ ΡƒΠ΄Π°Π»ΠΈΠ»ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄. ПослС Ρ‡Π΅Π³ΠΎ Π½Π°ΠΈΠ²Π½ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° сдСлана, ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠ΄. Но ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ послали тСстовоС сообщСниС, Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ имя отправитСля всС Π΅Ρ‰Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ! ПослС Ρ‡Π΅Π³ΠΎ начался Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΈ ΡΡŽΡ€Ρ€Π΅Π°Π»ΠΈΡΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ процСсс: снова ΠΈ снова, вСря, Ρ‡Ρ‚ΠΎ ΠΌΡ‹, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ послСднСС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ отправитСля, ΠΌΡ‹ удаляли Π΅Π³ΠΎ, ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ посылали тСстовоС сообщСниС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π· исправно ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ имя отправитСля Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ мСстС. Как знамСнитая стоглавая Π³ΠΈΠ΄Ρ€Π°, почтовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΎΡ‚Ρ€Π°Ρ‰ΠΈΠ²Π°Π»Π° Π½ΠΎΠ²ΡƒΡŽ Π³ΠΎΠ»ΠΎΠ²Ρƒ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ считали, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ€ΡƒΠ±ΠΈΠ»ΠΈ Π΅ΠΉ послСднюю.

НаконСц, ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠ² Π² Π½Π°ΡˆΡƒ эру Π΄Ρ€Π΅Π²Π½ΠΈΠΉ ΠΏΠΎΠ΄Π²ΠΈΠ³ Π“Π΅Ρ€Π°ΠΊΠ»Π°, ΠΌΡ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΠ»ΠΈ этого звСря, ΡƒΠ΄Π°Π»ΠΈΠ² Π±ΠΎΠ»Π΅Π΅ Π΄Π²Π°Π΄Ρ†Π°Ρ‚ΠΈ участков ΠΊΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅, Π·Π°Π΄Π°Π²Π°Π» ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅.


Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹Π΅ шаги ΠΏΠΎ Π΄ΠΎΡ€ΠΎΠ³Π΅ ΠΊ АВД. Π˜Ρ… достаточно для понимания Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, написанная Π² соотвСтствии с самыми элСмСнтарными прСдставлСниями ΠΎΠ± абстракции Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Π»Π° Π±Ρ‹ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ MAIL_MESSAGE (ΠŸΠžΠ§Π’ΠžΠ’ΠžΠ•_Π‘ΠžΠžΠ‘Π©Π•ΠΠ˜Π•) ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ абстрактноС понятиС. Одной ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ сообщСния ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ запрос, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, sender (ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»ΡŒ), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅ сообщСния. Π›ΡŽΠ±ΠΎΠΉ элСмСнт ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π±Ρ‹Π»Π° Π±Ρ‹ Π½ΡƒΠΆΠ½Π° эта информация, ΠΏΠΎΠ»ΡƒΡ‡Π°Π» Π±Ρ‹ Π΅Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· этот запрос sender. Если Π±Ρ‹ почтовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² соотвСтствии с этим, каТущимся ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ, Ρ‚ΠΎ для ΠΌΠΎΠ΅Π³ΠΎ нСбольшого упраТнСния достаточно Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ запроса sender. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, вСсьма вСроятно, Ρ‡Ρ‚ΠΎ Π² этом случаС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° прСдоставляла Π±Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ set_sender (ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ_отправитСля), которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΡ‰Π΅.

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ, Ρ‡Ρ‚ΠΎ рассматриваСмая почтовая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° использовалась вСсьма ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ. Но ΠΎΠ½Π° являСтся Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌ прСдставитСлСм Π½Ρ‹Π½Π΅ΡˆΠ½Π΅Π³ΠΎ стандарта Π² индустрии ПО. Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΌΡ‹ Π½Π΅ Π²Ρ‹ΠΉΠ΄Π΅ΠΌ Π΄Π°Π»Π΅ΠΊΠΎ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ этого стандарта Ρ„Ρ€Π°Π·Π° "ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния" останСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ принятия ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ Π·Π° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.

Ѐормализация спСцификаций

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ Π±Π΅Π³Π»Ρ‹ΠΉ набросок абстракции Π΄Π°Π½Π½Ρ‹Ρ… слишком Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ постоянно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. ВСрнСмся ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π³Π»Π°Π²Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ. Π‘Ρ‚Π΅ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ это поняли, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹Ρ… ΠΊ Π½Π΅ΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π½ΠΎ Ρ‚ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ!

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ описания явно нСдостаточны - put Π²Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ элСмСнт Π½Π° "Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ" стСка, remove Π²Ρ‹Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚ элСмСнт, находящийся Π½Π° Π²Π΅Ρ€ΡˆΠΈΠ½Π΅. Нам Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ для этого Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ.

БпСцификация АВД прСдоставит эту ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Она состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², Ρ€Π°Π·ΡŠΡΡΠ½ΡΠ΅ΠΌΡ‹Ρ… Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…:

[x]. ВИПЫ

[x]. ЀУНКЦИИ

[x]. АКБИОМЫ

[x]. ΠŸΠ Π•Π”Π£Π‘Π›ΠžΠ’Π˜Π―

Для спСцификации АВД Π² этих Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ простая матСматичСская нотация.

Π­Ρ‚Ρƒ Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ - матСматичСский Ρ„ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΠΌ - Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΊΠ½ΠΈΠ³ΠΈ, Π΄Π°ΠΆΠ΅ Ссли для согласования ΠΎΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΡΡ‚ΠΈΠ»ΡŒ синтаксиса. Π£ Π½Π΅Π΅ Π½Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΈ ΠΎΠ½Π° Π½Π΅ являСтся Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ языка программирования. Она ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΏΠΎΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ языка спСцификаций, Π½ΠΎ ΠΌΡ‹ удовлСтворимся использованиСм Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… объяснСния соглашСний для ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½ΠΎΠΉ спСцификации АВД.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ²

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ ВИПЫ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ спСцифицируСмыС Ρ‚ΠΈΠΏΡ‹. Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько АВД, хотя Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ имССтся лишь ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ STACK(Π‘Π’Π•Πš). ΠœΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€ΠΎΡ‡ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚ΠΈΠΏ? ΠžΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ всС полоТСния, Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π»Π΅Π΅ Π² этой Π»Π΅ΠΊΡ†ΠΈΠΈ: Ρ‚ΠΈΠΏ - это ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², характСризуСмая функциями, аксиомами ΠΈ прСдусловиями. НС Π±ΡƒΠ΄Π΅Ρ‚ большой ошибкой Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠΊΠ° Ρ‚ΠΈΠΏ ΠΊΠ°ΠΊ мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² матСматичСском смыслС слова "мноТСство" - Ρ‚ΠΈΠΏ STACK ΠΊΠ°ΠΊ мноТСство всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… стСков, Ρ‚ΠΈΠΏ INTEGER ΠΊΠ°ΠΊ мноТСство всСх Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ Ρ‚.Π΄.

Однако ΠΏΡ€ΠΈ этом Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹: АВД, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ STACK, - это Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ стСк), Π° ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (мноТСство всСх стСков). Напомним, Π² Ρ‡Π΅ΠΌ состоит наша главная Ρ†Π΅Π»ΡŒ: Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ основу для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла Π΄Π΅Π»Π°Ρ‚ΡŒ основой для модуля ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ - ΠΎΠ΄ΠΈΠ½ стСк, ΠΎΠ΄ΠΈΠ½ самолСт, ΠΎΠ΄ΠΈΠ½ счСт Π² Π±Π°Π½ΠΊΠ΅. ОО-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ даст Π½Π°ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ свойства всСх стСков, всСх самолСтов, всСх банковских счСтов, ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΡ… части.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠΉ мноТСству ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², описываСмых спСцификациСй АВД, называСтся экзСмпляром этого АВД. НапримСр, ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ стСк, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ свойствами абстрактного Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ… STACK, Π±ΡƒΠ΄Π΅Ρ‚ экзСмпляром АВД STACK. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ экзСмпляра ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· всС ОО-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ³Ρ€Π°Ρ‚ΡŒ Π²Π°ΠΆΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² объяснСнии повСдСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²ΠΎ врСмя исполнСния.

Π’ Ρ€Π°Π·Π΄Π΅Π»Π΅ ВИПЫ просто ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ спСцификации. Π—Π΄Π΅ΡΡŒ:

Π’ΠΈΠΏΡ‹

[x]. STACK[G]

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, наша спСцификация относится ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ абстрактному Ρ‚ΠΈΠΏΡƒ Π΄Π°Π½Π½Ρ‹Ρ… - STACK, Π·Π°Π΄Π°ΡŽΡ‰Π΅ΠΌΡƒ стСки ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° G.

УнивСрсализация (Genericity)

Π’ описании STACK[G] ΠΈΠΌΠ΅Π½Π΅ΠΌ G ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ, Π½Π΅ опрСдСляСмый Ρ‚ΠΈΠΏ. G называСтся Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€ΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ для Ρ‚ΠΈΠΏΠΎΠ² элСмСнтов АВД STACK, Π° сам STACK называСтся Ρ€ΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠ»ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ АВД. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ спСцификации, извСстСн ΠΊΠ°ΠΊ унивСрсализация, ΠΌΡ‹ ΡƒΠΆΠ΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ с Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΌ понятиСм Π² ΠΎΠ±Π·ΠΎΡ€Π΅ конструкций ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².