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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«The Programmers Stone (ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ΡΠΊΠΈΠΉ камСнь)Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 15

Автор Alan Carter

Говорят, ΡΠΊΡƒΠ»ΡŒΠΏΡ‚ΠΎΡ€ Π΄ΡƒΠΌΠ°Π΅Ρ‚ ΠΎ своСй Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΊΠ°ΠΊ ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π³Π»Ρ‹Π±Ρ‹ камня ΠΈΠ»ΠΈ куска Π΄Π΅Ρ€Π΅Π²Π°, ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ, отсСкая лишнСС. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сСбя глядящими Π³Π»Π°Π·Π°ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° нашС Ρ‚Π²ΠΎΡ€Π΅Π½ΠΈΠ΅ Π² ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π΄Π½Π΅ΠΉ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Если ΠΌΡ‹ смотрим Π½Π° Π½Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ свойства (Ρ‡Π΅Ρ€Ρ‚Ρ‹) систСмы, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ сСбя: «Как это Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ?Β» Π’ΠΎΠ³Π΄Π° ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ описаниС потрСбностСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° языкС ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°-программиста.

АрхитСктурный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Если ΡƒΠΆΠ΅ приходится Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ Π² АП, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ самая тяТСлая Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΊ этому ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ большой соблазн Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡƒΠΊΠ»ΠΎΠ½ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ написания АрхитСктурного ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ опускаСм Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² АП, ΠΈΠ½ΠΎΠ³Π΄Π° Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΠ²Π»Π΅Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ трСбованиям нСзависимости ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (portability), ΠΈΠ½ΠΎΠ³Π΄Π° просто Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π²Π΅ΡΡ‚ΡŒ Ρ‚ΡƒΠΌΠ°Π½ Π²ΠΎΠΊΡ€ΡƒΠ³ большой ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹, ΠΌΡ‹ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ. Π˜Π½ΠΆΠ΅Π½Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ΠΉ способ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ свойства Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ цСлостности ΠΊΠΎΠ΄Π°, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этих свойств.

Π£Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΡΠ°Ρ‚ΡŒΡΡ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΌΡ‹ считаСм ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΌ. Если ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ любой ΠΈΠ΄ΠΈΠΎΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠ΅. Волько учитывая Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅ΠΌ ограничСния Π½Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΈ ΠΏΠ»ΠΎΡ…ΠΈΠΌ. ΠœΡ‹ способны ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π΅. Если ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ Π΄ΠΈΠ·Π°ΠΉΠ½ Ρ‚Π°ΠΊ ΠΆΠ΅ Ρ…ΠΎΡ€ΠΎΡˆ, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ, ΠΈ эта критичСская стадия познания становится ΡƒΠΏΡ€Π°ΠΆΠ½Π΅Π½ΠΈΠ΅ΠΌ Π² письмС, ΠΊΡ‚ΠΎ быстрСС ΠΌΠΎΠΆΠ΅Ρ‚ Β«Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Β», Π½ΠΈΠΌΠ°Π»ΠΎ Π½Π΅ Π·Π°Π΄ΡƒΠΌΡ‹Π²Π°ΡΡΡŒ Π½Π°Π΄ написанным!

АП β€” это дидактичСский Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Он ΡƒΡ‡ΠΈΡ‚ читатСля Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ смотрСл Π°Π²Ρ‚ΠΎΡ€.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

Π”ΠŸ β€” это записка Π² Π±ΡƒΡ‚Ρ‹Π»ΠΊΠ΅. Он Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π°Π²Ρ‚ΠΎΡ€ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ, поэтому ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π”Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ излоТСния Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Π΅ мСста, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Π·Π° ΠΊΠ°Π΄Ρ€ΠΎΠΌ Π² АП, ΠΈ привСсти читатСля Π² Ρ‚ΠΎΡ‡ΠΊΡƒ, Π³Π΄Π΅ ΡƒΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сам ΠΊΠΎΠ΄. Иногда, это объяснСниС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ псСвдокодом, Π½ΠΎ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ исправлСния Π”ΠŸ. Π’ΠΎ врСмя Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠ°ΠΊ организация ΠΊΠΎΠ΄Π° Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ. Если Ρ‚Π°ΠΊΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π”ΠŸ нашим ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ, Ρ‚ΠΎ ΠΊΠ°ΠΊ Π΅Ρ‰Π΅ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? Π­Ρ‚ΠΎ простоС ΡƒΠΏΡƒΡ‰Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π² дальнСйшСм слишком ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Ρ‹ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ систСмы Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли ΠΎΠ½ΠΈ Π·Π½Π°Π»ΠΈ, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ! ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π”ΠŸ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ послСдоватСлям, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ систСму ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π΅.

План тСстирования

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

Π₯ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌ (Β«Π’ΠΈΠ»ΠΊΠ°Β»)

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

Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΆΠ΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. Π₯отя ΠΌΡ‹ стараСмся ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ замысловатого ΠΆΠ°Ρ€Π³ΠΎΠ½Π° Π±Π΅Π· стоящСго Π·Π° Π½ΠΈΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ смысла, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ввСсти Ρ‚Π΅Ρ€ΠΌΠΈΠ½, Β«Π₯ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌΒ» (Β«Π’ΠΈΠ»ΠΊΠ°Β»), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ этот ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½. ΠœΡ‹ позаимствовали этот Ρ‚Π΅Ρ€ΠΌΠΈΠ½ ΠΈΠ· ΡˆΠ°Ρ…ΠΌΠ°Ρ‚. Π’Π°ΠΌ конь стоит Π½Π° доскС ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ L-ΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ. Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π° L-ΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Ρ…ΠΎΠ΄Ρ‹ коня ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΏΠ°ΡΡ‚ΡŒ сразу Π½Π° Π΄Π²Π΅ Ρ„ΠΈΠ³ΡƒΡ€Ρ‹, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° своим собствСнным ΠΌΠΈΡ€ΠΎΠΌ, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‡Π΅Π³ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠ³ΠΎ Π² любом случаС.

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

while((c = getchar())!= EOF) putchar(f(c));

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

Β«Π₯ΠΎΠ΄ ΠΊΠΎΠ½Π΅ΠΌΒ» всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ (ΠΏΡ€ΠΈΡΡƒΡ‰ΡƒΡŽ Π΅ΠΉ) Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ структуру ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ области. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ эта глубокая структура Ρ€Π΅Π°Π»ΡŒΠ½Π°, Π° Π½Π΅ ΠΏΠ»ΠΎΠ΄ вообраТСния ΠΈ случайных совпадСний, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Π°. Если Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ случайныС совпадСния, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ скорСС Β«Π·Π°ΡƒΠΌΠ½Ρ‹ΠΌΒ», Ρ‡Π΅ΠΌ «элСгантным», ΠΈ всС Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€ΡƒΠΏΠΊΠΈΠΌ, ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠΌΡΡ Π½Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹ прСдостороТности ΠΏΠΎ всСму Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ систСмы, с ΠΏΠΎΡ‚Π΅Ρ€Π΅ΠΉ цСлостности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π°ΠΉΠ½Π±Π΅Ρ€Π³ (Weinberg) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ программиста, ΠΏΠΈΡˆΡƒΡ‰Π΅Π³ΠΎ Π½Π° ассСмблСрС. Π’ΠΎΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ Π±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ поиск ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ [12] ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° Π½ΠΎΠΌΠ΅Ρ€Π΅ ΠΊΠΎΠ΄Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ спроСктировал свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ исходя ΠΈΠ· этого. Но Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ (Β«ΠΆΠ΅Π»Π΅Π·Π°Β») Π½Π΅ считали схСму Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ свящСнной, ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π»ΠΈ допустимыС измСнСния, вСсь Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ развалился.

ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ послойный процСсс

ДзСнская ΠΏΡ€ΠΈΡ‚Ρ‡Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ ΠΌΡƒΠ΄Ρ€ΠΎΠΌ ΠΌΠΎΠ½Π°Ρ…Π΅, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠ΅ΠΌ ΠΊ старому ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŽ. Он вошСл Π² ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ учитСля ΠΈ сСл ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ. «Когда Ρ‚Ρ‹ Π²Ρ…ΠΎΠ΄ΠΈΠ», с ΠΊΠ°ΠΊΠΎΠΉ стороны Π΄Π²Π΅Ρ€ΠΈ Ρ‚Ρ‹ оставил свой посох?Β» β€” спросил ΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ. ΠœΠΎΠ½Π°Ρ… Π½Π΅ Π·Π½Π°Π». Β«Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС, Ρ‚Ρ‹ потСрял свой Π”Π·Π΅Π½Β».

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

Π’Π°Ρˆ процСсс Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ Π½Π° ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС вмСстС. Как машина-ΡƒΠΊΠ»Π°Π΄Ρ‡ΠΈΠΊ ΠΆΠ΅Π»Π΅Π·Π½ΠΎΠ΄ΠΎΡ€ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΡ‚Π½Π°, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ структуру своСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Π΅Π΅ развития. По ΠΏΡ€ΠΎΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ достигнСтС способности Π΄Π΅Π»Π°Ρ‚ΡŒ это Π² своСй Π³ΠΎΠ»ΠΎΠ²Π΅, ΠΈ Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΡ‡Π΅Π½ΡŒ быстро, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ двумя способами.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ вашСго ΠΏΠ»Π°Π½Π°, Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² своСй Π³ΠΎΠ»ΠΎΠ²Π΅:

1. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

ModelOpen(),

ModelRead(),

ModelWrite(),

ModelClose().

2. ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий этих Ρ„Π°ΠΉΠ»ΠΎΠ².

3. Π’нСсти измСнСния.

3.1. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ modread.c

3.1.1. Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ModelOpen()

3.1.2 Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ModelRead()

3.1.3. Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ModelWrite()

3.1.4. Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ModelClose()

3.2. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ appfile1.c

3.3. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ appfile2.c

4. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

5. ΠŸΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ

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