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

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

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

Для Unix-программистов Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π½ΠΎ инстинктивноС осознаниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Данная тСндСнция прСдставляСтся ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΡ€ΠΈΡ‡ΠΈΠ½, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ОО-языкам Π² Unix Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π²Ρ‹Ρ‚Π΅ΡΠ½ΠΈΡ‚ΡŒ Π½Π΅-ОО-конструкции, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π‘, Perl (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ОО-срСдствами, Π½ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ) ΠΈ shell. Π’ ΠΌΠΈΡ€Π΅ Unix большС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΊΡ€ΠΈΡ‚ΠΈΠΊΠΈ ОО-языков, Ρ‡Π΅ΠΌ это ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ортодоксы Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах. Unix-программисты Π·Π½Π°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π°, Ссли ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ОО-языки, Ρ‚ΠΎ тратят большиС усилия, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Π΅ конструкции Ρ‡Π΅Ρ‚ΠΊΠΈΠΌΠΈ. Как ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ‹ (Π² нСсколько Π΄Ρ€ΡƒΠ³ΠΎΠΌ контСкстС) Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» Π°Π²Ρ‚ΠΎΡ€ ΠΊΠ½ΠΈΠ³ΠΈ "The Elements of Networking Style" [60J: "... Ссли программист Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚, Ρ‚ΠΎ Ρ‚Ρ€Π΅Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ достаточно, Ссли ΠΆΠ΅ Π½Π΅Ρ‚, Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π΄Π°ΠΆΠ΅ ΡΠ΅ΠΌΠ½Π°Π΄Ρ†Π°Ρ‚ΡŒ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ".

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

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

НСкоторыС ΠΈΠ· этих ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ обсуТдСнии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языков программирования Π² Π³Π»Π°Π²Π΅ 14.

4.6. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

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

β€’ Бколько Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… присутствуСт Π² ΠΊΠΎΠ΄Π΅? Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅β€” Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, простой способ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½Ρ‹ΠΌ ΠΈ бСспорядочным ΠΏΡƒΡ‚Π΅ΠΌ8.

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

β€’ НС слишком Π»ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² модулях? Π­Ρ‚ΠΎ Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ вопрос количСства строк ΠΊΠΎΠ΄Π°, сколько Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ слоТности. Если Π½Π΅Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ взаимодСйствиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚ΠΎ, вСроятно, Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ слишком Π²Π΅Π»ΠΈΠΊ35.

Π›ΠΈΡ‡Π½ΠΎ я склонСн Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΊΠΎΠ³Π΄Π° Π² Π½Π΅ΠΉ слишком ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ β€” ΡƒΡ€ΠΎΠ²Π½ΠΈ отступов (ΠΈΡ… слишком ΠΌΠ½ΠΎΠ³ΠΎ). Π― Ρ€Π΅Π΄ΠΊΠΎ ΡΠΌΠΎΡ‚Ρ€ΡŽ Π½Π° Π΄Π»ΠΈΠ½Ρƒ.

КСн Вомпсон.

β€’ Π˜ΠΌΠ΅Π΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ΄ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ API-интСрфСйсы β€” Ρ‚.Π΅. Π½Π°Π±ΠΎΡ€Ρ‹ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ†Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части ΠΊΠΎΠ΄Π°? Π₯ΠΎΡ€ΠΎΡˆΠΈΠΉ API ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈ понятСн Π±Π΅Π· рассмотрСния скрытой Π² Π½Π΅ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ API Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ программисту ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ. Если это Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ, Ρ‚ΠΎ вСсьма вСроятно, Ρ‡Ρ‚ΠΎ интСрфСйс слишком слоТСн ΠΈ спроСктирован Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎ.

β€’ Π˜ΠΌΠ΅Π΅Ρ‚ Π»ΠΈ любой ΠΈΠ· Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… API-интСрфСйсов Π±ΠΎΠ»Π΅Π΅ сСми Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ? Π˜ΠΌΠ΅Π΅Ρ‚ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· классов Π±ΠΎΠ»Π΅Π΅ сСми ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²? Π˜ΠΌΠ΅ΡŽΡ‚ Π»ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… Π±ΠΎΠ»Π΅Π΅ сСми Ρ‡Π»Π΅Π½ΠΎΠ²?

β€’ Каково распрСдСлСниС Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°?36 НС каТСтся Π»ΠΈ распрСдСлСниС Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ? Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… модулях Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΎΠ΅ большоС количСство Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ? Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ модуля Ρ‚Π°ΠΊΠΆΠ΅ растСт, ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ числа Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Ρ‚ΠΎΡ‡Π΅ΠΊ β€” Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ простыС API Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ слоТныС.

ΠœΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ сравнСниС Π΄Π°Π½Π½Ρ‹Ρ… вопросов с ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ΠΌ вопросов ΠΎ прозрачности ΠΈ воспринимаСмости Π² Π³Π»Π°Π²Π΅ 6.

5 ВСкстовоС прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ…: ясныС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ Π»Π΅ΠΆΠ°Ρ‚ Π² основС Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

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

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

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΈ хранСния ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ ΠΊΠ²Π°Π·ΠΈ-пространствСнноС располоТСниС структур Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ связныС списки, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ сглаТСно ΠΈΠ»ΠΈ сСриализо-Π²Π°Π½ΠΎ Π² прСдставлСниС ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±Π°ΠΉΡ‚ΠΎΠ², ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ впослСдствии ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ структуру. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ сСриализации (сохранСния) ΠΈΠ½ΠΎΠ³Π΄Π° называСтся ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ΠΎΠΌ (marshaling), Π° обратная Π΅ΠΉ опСрация (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°) β€” Π΄Π΅ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³ΠΎΠΌ (unmarshaling). Π”Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π² ОО-языках программирования, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π‘++, Python ΠΈΠ»ΠΈ Java, вмСстС с Ρ‚Π΅ΠΌ ΠΎΠ½ΠΈ Π² Ρ€Π°Π²Π½ΠΎΠΉ стСпСни ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ для Ρ‚Π°ΠΊΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° графичСского Ρ„Π°ΠΉΠ»Π° Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ графичСского Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΈ сохранСниС Ρ„Π°ΠΉΠ»Π° послС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ программисты Π½Π° Π‘ ΠΈ Π‘++, являСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π° ΠΈ Π΄Π΅ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π°, Π΄Π°ΠΆΠ΅ Ссли выбранная Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния для сохранСния ΠΈ восстановлСния Ρ‚Π°ΠΊΠΆΠ΅ проста ΠΊΠ°ΠΊ Π΄Π°ΠΌΠΏ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ структуры (распространСнная ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Π² Π½Π΅ Unix-срСдах). Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Python ΠΈ Java, ΠΈΠΌΠ΅ΡŽΡ‚ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π΅ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π° ΠΈ ΠΌΠ°Ρ€ΡˆΠ°Π»ΠΈΠ½Π³Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΊ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΈΠ»ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΡƒ Π±Π°ΠΉΡ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‚Ρ€ΡƒΠ΄ΠΎΠ·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹.

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

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