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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠœΠΈΡ„ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-мСсяц ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ систСмы». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 46

Автор Π€Ρ€Π΅Π΄Π΅Ρ€ΠΈΠΊ Брукс

Рис. 19.2

На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ шагС ΠΌΡ‹ навСшиваСм ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Π²ΠΎΠ΄Π° (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ) ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ‹Π²ΠΎΠ΄Π°. Voila! Π Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ систСма, Π΄Π΅Π»Π°ΡŽΡ‰Π°Ρ Π½Π΅Ρ‡Ρ‚ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, нСинтСрСсноС. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, функция Π·Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ, ΠΌΡ‹ строим ΠΈ добавляСм ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. На ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ систСму. ΠŸΡ€ΠΈ достаточном Ρ‚Ρ€ΡƒΠ΄ΠΎΠ»ΡŽΠ±ΠΈΠΈ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ ΠΎΡ‚Π»Π°ΠΆΠ΅Π½Π½ΡƒΡŽ, ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ систСму. (По ΠΌΠ΅Ρ€Π΅ роста систСмы растСт ΠΈ Ρ‚ΡΠΆΠ΅ΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ тСстирования всСх Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΠΎ всСм ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ.)

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π° ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ каТдая функция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΌΡ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅ΠΌ ΠΈΠ»ΠΈ пСрСписываСм ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ, пошагово наращивая систСму. Иногда для надСТности ΠΌΡ‹ пСрСписываСм исходный Π΄Π²ΠΈΠΆΡƒΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ», Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π΅Π³ΠΎ интСрфСйсы с модулями.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ систСма:

β€’ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π°Π½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ тСстированиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ;

β€’ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² соотвСтствии с Π±ΡŽΠ΄ΠΆΠ΅Ρ‚ΠΎΠΌ, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‰ΡƒΡŽ ΠΎΡ‚ пСрСрасхода Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ срСдств (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π·Π° счСт сокращСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ).

Π’ Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 22 Π»Π΅Ρ‚ я ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π» Π² Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠΈ УнивСрситСта ΡˆΡ‚Π°Ρ‚Π° БСвСрная ΠšΠ°Ρ€ΠΎΠ»ΠΈΠ½Π°, ΠΈΠ½ΠΎΠ³Π΄Π° вмСстС с Дэвидом ΠŸΠ°Ρ€Π½Π°ΡΠΎΠΌ. На этих занятиях Π±Ρ€ΠΈΠ³Π°Π΄Ρ‹, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠΈΠ΅ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСмСстра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΡƒΡŽ систСму. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ посСрСдинС этого срока я стал ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. Π― Π±Ρ‹Π» ΠΏΠΎΡ€Π°ΠΆΠ΅Π½, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΎΠ·Π±ΡƒΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ эффСкт Π½Π° ΠΌΠΎΡ€Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΡƒΡ… Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ пСрвая ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π½Π° экранС, пСрвая Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ систСма.

БСмСйства ΠŸΠ°Ρ€Π½Π°ΡΠ°. Дэвид ΠŸΠ°Ρ€Π½Π°Ρ Π±Ρ‹Π» Π³Π»Π°Π²Π½Ρ‹ΠΌ властитСлСм Π΄ΡƒΠΌ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΡ‚Π΅Ρ…Π½ΠΈΠΊΠ΅ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго этого 20-Π»Π΅Ρ‚Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°. ВсСм извСстна Π΅Π³ΠΎ идСя скрытия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. МСнСС извСстна ΠΎΡ‡Π΅Π½ΡŒ ваТная идСя ΠŸΠ°Ρ€Π½Π°ΡΠ° ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΊΠ°ΠΊ сСмСйства взаимосвязанных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². [11] Он Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΈΠΌΠ΅Π» Π² Π²ΠΈΠ΄Ρƒ ΠΊΠ°ΠΊ дальнСйшСС Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΈ опрСдСлял ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅ΠΆΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Π΅ различия Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ родствСнных ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² (рис. 19.3).

Рис. 19.3

Ѐокус ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΡ€Π½ΡŽ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ вСроятно.

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

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ Microsoft: «СТСвСчСрняя сборка». ДТСймс ΠœΠ°ΠΊΠΊΠ°Ρ€Ρ‚ΠΈ (James McCarthy) описал ΠΌΠ½Π΅ процСсс, использовавшийся ΠΈΠΌ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π² Microsoft. Π­Ρ‚ΠΎ пошаговоС Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Π½ΠΈΠ΅, Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π΄ΠΎ логичСского ΠΊΠΎΠ½Ρ†Π°. Он ΠΏΠΈΡˆΠ΅Ρ‚:

Π‘Π΄Π΅Π»Π°Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ поставку, Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΌΡ‹ поставляСм с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ функциями, ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠΌ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‹ΠΌ процСсс ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ сборки? Π‘ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° достиТСния Π½Π°ΠΌΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ…ΠΈ (Ρƒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ поставки Ρ‚Ρ€ΠΈ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Π²Π΅Ρ…ΠΈ) ΠΌΡ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π΅Ρ‡Π΅Ρ€ Π·Π°Π½ΠΎΠ²ΠΎ собираСм Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ систСму (ΠΈ прогоняСм ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹). Π¦ΠΈΠΊΠ» сборки становится Ρ€ΠΈΡ‚ΠΌΠΎΠΌ ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π΅Ρ‡Π΅Ρ€ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±Ρ€ΠΈΠ³Π°Π΄ программистов, проводящих тСстированиС, Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ функциями. ПослС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ сборки Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ систСма. Если сборка оказываСтся Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ, ΠΌΡ‹ останавливаСм вСсь процСсс, ΠΏΠΎΠΊΠ° ошибка Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π° ΠΈ исправлСна. Π’ любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ всС Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Π·Π½Π°ΡŽΡ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π».

Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ тяТСло. ВрСбуСтся Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… рСсурсов, Π½ΠΎ это управляСмый процСсс, прослСТиваСмый ΠΈ понятный. Он Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ ΠΊ сСбС. А Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ опрСдСляСт ΠΌΠΎΡ€Π°Π»ΡŒ, ΡΠΌΠΎΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС.

Π’Π°ΠΊΠΎΠΉ процСсс удивляСт ΠΈ Π΄Π°ΠΆΠ΅ ΡˆΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… организациях. Один ΠΈΠ· Π½ΠΈΡ… Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Β«Π― взял сСбС Π·Π° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ сборку ΠΊΠ°ΠΆΠ΄ΡƒΡŽ нСдСлю, Π½ΠΎ СТСднСвная сборка, я Π΄ΡƒΠΌΠ°ΡŽ, ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€ΡƒΠ΄Π°.Β» И это, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π΅Ρ€Π½ΠΎ. НапримСр, Π² Bell Northern Research ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ систСму, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· 12 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк, Ρ€Π°Π· Π² нСдСлю.

Π˜Π½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Π°Ρ сборка ΠΈ быстроС ΠΌΠ°ΠΊΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ инкрСмСнтная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° позволяСт Ρ€Π°Π½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ тСстированиС Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ, Π² Ρ‡Π΅ΠΌ Π΅Π΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ быстрого макСтирования? МнС каТСтся, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ связаны, Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Одним ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±Π΅Π· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

Π₯Π°Ρ€Π΅Π» Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅Ρ‚Π°:

(вСрсия ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая) ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, принятыС Π² процСссС ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π° Π½Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ сообраТСниями Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. [12]

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

Аналогично, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ срСз ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ вСсьма ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΎΠ»ΠΈΡ‚ΡŒ свСт Π½Π° Ρ‚Π΅ мСста, Π³Π΄Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Π°ΠΈΡ‚ΡŒΡΡ опасности для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π’ Ρ‡Π΅ΠΌ состоит Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сборкой Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ…Π΅ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Microsoft ΠΈ быстрым ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ? Π’ функциях. ΠŸΡ€ΠΎΠ΄ΡƒΠΊΡ‚ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π²Π΅Ρ…ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½ΠΈ для ΠΊΠΎΠ³ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ интСрСса. Π“ΠΎΡ‚ΠΎΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° ΠΊ поставкС опрСдСляСтся Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π² прСдоставлСнии ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ своим качСством, ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ Π² Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅.

ΠŸΠ°Ρ€Π½Π°Ρ Π±Ρ‹Π» ΠΏΡ€Π°Π², Π° я β€” Π½Π΅Ρ‚ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ сокрытия ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π’ Π³Π»Π°Π²Π΅ 7 я ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽ Π΄Π²Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π½Π° Ρ‚ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ€Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ участник ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠΎΡ‰Ρ€ΡΡ‚ΡŒΡΡ ΠΊ знанию ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ тСкстов ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, созданных ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ. Π’ΠΎ врСмя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Operating System/360 ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ всС программисты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ вСсь ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», Ρ‚.Π΅. Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ программиста Π±Ρ‹Π»Π° рабочая Ρ‚Π΅Ρ‚Ρ€Π°Π΄ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, которая ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ насчитывала ΡΠ²Ρ‹ΡˆΠ΅ 10000 страниц. Π₯Π°Ρ€Π»Π°Π½ Миллз ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π», Ρ‡Ρ‚ΠΎ Β«ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ процСссом», Ρ‡Ρ‚ΠΎ прСдоставлСниС всСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° ΠΎΠ±Ρ‰Π΅Π΅ ΠΎΠ±ΠΎΠ·Ρ€Π΅Π½ΠΈΠ΅ способствуСт ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŽ качСства ΠΊΠ°ΠΊ благодаря давлСнию со стороны ΠΊΠΎΠ»Π»Π΅Π³, Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π°ΠΊ ΠΈ благодаря Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ находят ΠΏΡ€ΠΎΠΌΠ°Ρ…ΠΈ ΠΈ ошибки.

Π­Ρ‚ΠΎΡ‚ взгляд Ρ€Π΅Π·ΠΊΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ мнСнию Дэвида ΠŸΠ°Ρ€Π½Π°ΡΠ° ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ инкапсулированы, с Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ интСрфСйсами, Π° Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ частной ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ программиста, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ снаруТи. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ эффСктивнСС всСго Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΎΠ³Ρ€Π°ΠΆΠ΄Π΅Π½Ρ‹ ΠΎΡ‚ внутрСнностСй Ρ‡ΡƒΠΆΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. [13]

Π’ Π³Π»Π°Π²Π΅ 7 я Π·Π°ΠΊΠ»Π΅ΠΉΠΌΠΈΠ» идСю ΠŸΠ°Ρ€Π½Π°ΡΠ° ΠΊΠ°ΠΊ Β«Ρ€Π΅Ρ†Π΅ΠΏΡ‚ катастрофы». ΠŸΠ°Ρ€Π½Π°Ρ Π±Ρ‹Π» ΠΏΡ€Π°Π², Π° я ошибался. БСгодня я ΡƒΠ±Π΅ΠΆΠ΄Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, часто осущСствляСмоС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ программирования, являСтся СдинствСнным способом ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ.

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

Π’ Π³Π»Π°Π²Π΅ 16 утвСрТдаСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

β€’ большая Ρ‡Π°ΡΡ‚ΡŒ роста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния обСспСчСна устранСниСм второстСпСнных трудностСй, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ языки программирования ΠΈ мСдлСнная ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;

β€’ Π»Π΅Π³ΠΊΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ практичСски Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ;

β€’ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ прогрСсса ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ, Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠ² сущСствСнныС слоТности модСлирования слоТных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… конструкций.

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

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