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

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

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

НСобходимо ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ написания класса ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° ΠΊΠ°ΠΊ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ спСцифицированного, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ.

ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ классы (Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ абстрактными классами) особСнно Π²Π°ΠΆΠ½Ρ‹ для ОО-Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ высокоуровнСвого проСктирования, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π·Π°Π΄Π°Ρ‚ΡŒ основныС аспСкты систСмы, оставляя Π΄Π΅Ρ‚Π°Π»ΠΈ Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ стадии.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ (memory management) ΠΈ сборка мусора (garbage collection)

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

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

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

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

РСализация ΠΈ срСда

ΠœΡ‹ подошли ΠΊ Π²Π°ΠΆΠ½Ρ‹ΠΌ свойствам срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ созданиС ОО-ПО.

АвтоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (automatic update)

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ПО - процСсс Π½Π°Ρ€Π°ΡΡ‚Π°ΡŽΡ‰ΠΈΠΉ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΏΠΈΡˆΡƒΡ‚ тысячи строк Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·; ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚, добавляя ΠΈ модифицируя, начиная Ρ‡Π°Ρ‰Π΅ всСго с систСмы, ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€.

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

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

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

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

БыстроС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ (fast update)

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обновлСния систСмы Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ автоматичСским, Π½ΠΎ ΠΈ быстрым. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π° Π½Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ систСмы Π² Ρ†Π΅Π»ΠΎΠΌ. Π‘Π΅Π· этого свойства ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈ срСда ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ нСбольшим систСмам, Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΊ большим.

ВрСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ряда ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² систСмС, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΡ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈ Π½Π΅ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° систСмы Π² Ρ†Π΅Π»ΠΎΠΌ.

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

Π–ΠΈΠ²ΡƒΡ‡Π΅ΡΡ‚ΡŒ (persistence)

МногиС прилоТСния, вСроятно, Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ сохранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСанса Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ. Π‘Ρ€Π΅Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ выполнСния этого простым способом.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ часто содСрТит ссылки Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎΠΆΠ΅ содСрТащиС, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ большоС количСство зависимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ слоТным Π³Ρ€Π°Ρ„ΠΎΠΌ зависимости (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹). ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π΅Π· всСх Π΅Π³ΠΎ прямых ΠΈ нСпрямых зависимых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Говорят, Ρ‡Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ТивучСсти ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ ТивучСсти (persistence closure), Ссли ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ зависимыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ наряду с самим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.

Π”ΠΎΠ»ΠΆΠ΅Π½ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ хранСния, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ ТивучСсти. Он сохраняСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ вмСстС со всСми зависимыми ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π½Π° Π²Π½Π΅ΡˆΠ½ΠΈΡ… устройствах ΠΈ восстанавливаСт ΠΈΡ… Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сСанса.

Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ простой ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ТивучСсти нСдостаточно; Ρ‚Π°ΠΊΠΈΠ΅ прилоТСния Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… (database support) . ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ ОО-Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π»Π΅ΠΊΡ†ΠΈΠΉ, Π³Π΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ вопросы ТивучСсти, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΡ схСмы, ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ бСзопасного восстановлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π΄Π°ΠΆΠ΅ Ссли измСнились ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ классы.

ДокумСнтация

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

Π”ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ срСдства для автоматичСского получСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΎ классах ΠΈ систСмах.

Быстрый просмотр (browsing)

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

Π’ этом ΠΈ состоит Π·Π°Π΄Π°Ρ‡Π° просмотра. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ возмоТности просмотра Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚: поиск классов - ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², поставщиков, ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ², ΠΏΡ€Π΅Π΄ΠΊΠΎΠ²; поиск всСх ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°; поиск исходного объявлСния ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. (ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅: S - поставщик Π‘, Ссли Π‘ - ΠΊΠ»ΠΈΠ΅Π½Ρ‚ S. Π’Π΅Ρ€ΠΌΠΈΠ½ "ΠΊΠ»ΠΈΠ΅Π½Ρ‚ класса" пояснСн Π²Ρ‹ΡˆΠ΅.)

БрСдства ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ просмотра Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ПО быстро ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ зависимости ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Один ΠΈΠ· Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½Ρ‹Ρ… аспСктов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ПО ОО-способом - Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° основС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. ОО-срСда Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ создания Π½ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠΊΠ΅ ΠΈΠ·ΡƒΡ‡Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ структуры Π΄Π°Π½Π½Ρ‹Ρ… - мноТСства, списки, Π΄Π΅Ρ€Π΅Π²ΡŒΡ, стСки; связанныС с Π½ΠΈΠΌΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ - сортировки, поиска, ΠΎΠ±Ρ…ΠΎΠ΄Π°, сопоставлСния с ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠΌ. Π­Ρ‚ΠΈ структуры ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ вСздСсущи Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ПО. НСрСдко, ΠΊΠΎΠ³Π΄Π° Π² своСй систСмС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°ΡΡ‚ΠΎΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΈ ΠΏΠ°Π³ΡƒΠ±Π½ΠΎ отраТаСтся Π½Π° качСствС ПО, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ вряд Π»ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ структуру Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΡŒ саму ΠΏΠΎ сСбС, Π° Π² качСствС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ прилоТСния, достигнСт ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ надСТности ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.