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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π˜ΡΠΊΡƒΡΡΡ‚Π²ΠΎ программирования для UnixΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 12

Автор Π Π΅ΠΉΠΌΠΎΠ½Π΄ Π­Ρ€ΠΈΠΊ Π‘Ρ‚ΠΈΠ²Π΅Π½

Π’ любом случаС, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ всС.

ЕдинствСнным способом ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этих Π»ΠΎΠ²ΡƒΡˆΠ΅ΠΊ являСтся ΠΏΠΎΠΎΡ‰Ρ€Π΅Π½ΠΈΠ΅ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, прСдставитСли ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ красива, ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΎΠΏΡ€ΠΎΡ‚ΠΈΠ²Π»ΡΡŽΡ‚ΡΡ "Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΡŽ" ΠΈ слоТности ΠΊΠΎΠ΄Π°. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠΉ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, высоко ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ простыС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΈΡ‰ΡƒΡ‰Π΅ΠΉ способы раздСлСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… систСм Π½Π° нСбольшиС Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈ, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, которая борСтся с ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠΌΠΈ создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с большим количСством "ΡƒΠΊΡ€Π°ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²" (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ…ΡƒΠΆΠ΅ β€” проСктирования ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π²ΠΎΠΊΡ€ΡƒΠ³ "ΡƒΠΊΡ€Π°ΡˆΠ°Ρ‚Π΅Π»ΡŒΡΡ‚Π²").

Π’Π°ΠΊΠΎΠ²ΠΎΠΉ Π±Ρ‹Π»Π° Π±Ρ‹ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π°, Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ похоТая Π½Π° ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Ρƒ Unix.

1.6.6.Β ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ расчСтливости: ΠΏΠΈΡˆΠΈΡ‚Π΅ большиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли послС дСмонстрации становится ясно, Ρ‡Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π΅ остаСтся

Под "большими ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ" Π² здСсь ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ с большим объСмом ΠΊΠΎΠ΄Π° ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Π Π°Π·Ρ€Π΅ΡˆΠ°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Ρ€Π°Π·Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ставит ΠΏΠΎΠ΄ ΡƒΠ΄Π°Ρ€ дальнСйшСС обслуТиваниС Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ люди Π½Π΅ΠΎΡ…ΠΎΡ‚Π½ΠΎ Ρ€Π°ΡΡΡ‚Π°ΡŽΡ‚ΡΡ с Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²Π»Π΅ΠΊΠ°ΡŽΡ‚ излишниС влоТСния Π² ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ ΠΈΠ»ΠΈ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСна Π² Π³Π»Π°Π²Π΅ 13.

1.6.7.Β ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ прозрачности: для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π΅Π΅ конструкция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΠΎΠ·Ρ€ΠΈΠΌΠΎΠΉ

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

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

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

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

ЦСль Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ прозрачности ΠΈ воспринимаСмости Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ простыС интСрфСйсы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π² особСнности срСдства тСстирования ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½Ρ‹Π΅ сцСнарии.

1.6.8. ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ устойчивости: ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ-слСдствиС прозрачности ΠΈ простоты

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ устойчивым, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ выполняСт свои Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Ρ… условиях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ выходят Π·Π° Ρ€Π°ΠΌΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΡΡ‚ΠΎΠ»ΡŒ ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, ΠΊΠ°ΠΊ ΠΈ Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… условиях.

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ "ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ…Ρ€ΡƒΠΏΠΊΠΈΠΌΠΈ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ ошибками, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для чСловСчСского ΠΌΠΎΠ·Π³Π° слишком слоТно сразу ΠΏΠΎΠ½ΡΡ‚ΡŒ всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ. Если Π½Π΅Ρ‚ возмоТности ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ нСльзя Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π² Π΅Π΅ коррСктности, ΠΈ Π΅Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² случаС ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, способ создания устойчивого ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ устройства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Ρ‹Π»ΠΎ Π±Ρ‹ простым для понимания Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. БущСствуСт Π΄Π²Π° основных способа достиТСния этой Ρ†Π΅Π»ΠΈ: ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ простота.

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

Π“Π΅Π½Ρ€ΠΈ БпСнсСр.

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

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

ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ (простыС Π±Π»ΠΎΠΊΠΈ, ясныС интСрфСйсы) являСтся способом ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΎΡ‰Π΅. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы достиТСния простоты. НиТС описываСтся ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ….

1.6.9.Β ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ прСдставлСния: знания слСдуСт ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈ устойчивой

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

Π”Π°Π½Π½Ρ‹Π΅ Π±ΠΎΠ»Π΅Π΅ "ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ²Ρ‹", Ρ‡Π΅ΠΌ программная Π»ΠΎΠ³ΠΈΠΊΠ°. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ссли ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π°, слСдуСт Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, развивая ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, слСдуСт Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚ΠΈ пСрСраспрСдСлСния слоТности ΠΈΠ· ΠΊΠΎΠ΄Π° Π² Π΄Π°Π½Π½Ρ‹Π΅.

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

Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ 9.

1.6.10.Β ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ наимСньшСй нСоТиданности: ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ интСрфСйсов всСгда слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹Π΅ элСмСнты

Π”Π°Π½Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ извСстно ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ "ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ наимСньшСго удивлСния" (Principle of Least Astonishment).

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌΠΈ Π² использовании ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ наимСньшСго обучСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΠ»ΠΈ, ΠΈΠ½Ρ‹ΠΌΠΈ словами, ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΌΠΈ Π² использовании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ дСйствСнно Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‚ΡΡ с ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΠΈΡΡ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ знаниями.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Π΄ΠΈΠ·Π°ΠΉΠ½Π΅ интСрфСйса слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ бСспричинной Π½ΠΎΠ²ΠΈΠ·Π½Ρ‹ ΠΈ излишнСй "заумности". Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅-ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ Π·Π½Π°ΠΊ "+" всСгда Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ слоТСния. Разрабатывая интСрфСйс, Π΅Π³ΠΎ слСдуСт ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с интСрфСйсов Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ вСроятнСС всСго Π·Π½Π°ΠΊΠΎΠΌΡ‹.