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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚-ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΠΊ. ΠŸΡƒΡ‚ΡŒ ΠΎΡ‚ ΠΏΠΎΠ΄ΠΌΠ°ΡΡ‚Π΅Ρ€ΡŒΡ ΠΊ мастСру». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 37

Автор Π­Π½Π΄Ρ€ΡŽ Π₯Π°Π½Ρ‚

ΠœΡ‹ ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈ ΠΊ написанию ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ячСйки (ΠΌΠΎΠ΄ΡƒΠ»ΠΈ) ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡŒΡ‚Π΅ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ. Если ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ находится ΠΏΠΎΠ΄ ΡƒΠ³Ρ€ΠΎΠ·ΠΎΠΉ ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½, Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ способны ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π‘Π²Π΅Π΄Π΅Π½ΠΈΠ΅ связанности ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ

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

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ своСго Π΄ΠΎΠΌΠ° ΠΈΠ»ΠΈ строитС Π΄ΠΎΠΌ с нуля. ΠžΠ±Ρ‹Ρ‡Π½Π°Ρ организация Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ "Π³Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ подрядчика". Π’Ρ‹ Π½Π°Π½ΠΈΠΌΠ°Π΅Ρ‚Π΅ подрядчика для выполнСния Ρ€Π°Π±ΠΎΡ‚, Π½ΠΎ подрядчик выполняСт ΠΈΠ»ΠΈ Π½Π΅ выполняСт эти Ρ€Π°Π±ΠΎΡ‚Ρ‹ сам; Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹ΠΌ субподрядчикам. Но, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, Π²Ρ‹ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ с субподрядчиками Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π³Π΅Π½Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ подрядчик Π±Π΅Ρ€Π΅Ρ‚ ΠΎΡ‚ вашСго ΠΈΠΌΠ΅Π½ΠΈ эту Π³ΠΎΠ»ΠΎΠ²Π½ΡƒΡŽ боль Π½Π° сСбя.

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

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

public void plotDate(Date aDate Selection aSelection) {

  TimeZone tz =

    ASelection.getRecorder().getLocation().getTimeZone();

...

}

Но Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π±Π΅Π· особой надобности связана с трСмя классами – Selection, Recorder ΠΈ Location. Π­Ρ‚ΠΎΡ‚ ΡΡ‚ΠΈΠ»ΡŒ программирования Ρ€Π΅Π·ΠΊΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ число классов, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… зависит наш класс. ΠŸΠΎΡ‡Π΅ΠΌΡƒ это ΠΏΠ»ΠΎΡ…ΠΎ? ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ этом увСличиваСтся риск Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ внСсСниС нСсвязанного измСнСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ части систСмы Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. НапримСр, Ссли сотрудник ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π€Ρ€Π΅Π΄ вносит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² класс Location Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ нСпосрСдствСнно Π±ΠΎΠ»Π΅Π΅ Π½Π΅ содСрТит TimeZone, Ρ‚ΠΎ Π²Π°ΠΌ придСтся внСсти измСнСния ΠΈ Π² свою ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΈΡ€Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, просто спроситС Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ:

public void plotDate(Date aDate, TimeZone aTz) {

  ...

}

plotDate(someDate, someSelection.getTimeZone());

ΠœΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊ классу Selection, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ часовой пояс ΠΎΡ‚ своСго ΠΈΠΌΠ΅Π½ΠΈ; ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ построСния Π³Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π΅Π²Π°ΠΆΠ½ΠΎ, пСрСдаСтся Π»ΠΈ часовой пояс нСпосрСдствСнно ΠΈΠ· класса Recorder, ΠΎΡ‚ Π½Π΅ΠΊΠΎΠ΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, содСрТащСгося Π² Recorder, ΠΈΠ»ΠΈ ΠΆΠ΅ класс Selection сам составляСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ часовой пояс. Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π±ΠΎΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ±ΠΎΡ€ ΠΎ Π΅Π³ΠΎ часовом поясС, оставив ΠΏΡ€ΠΈΠ±ΠΎΡ€Ρƒ ΠΏΡ€Π°Π²ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· содСрТащСгося Π² Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Location.

НСпосрСдствСнноС пСрСсСчСниС ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ быстро привСсти ΠΊ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ Π²Π·Ρ€Ρ‹Π²Ρƒ [28] ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ зависимости. ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΠΈ этого явлСния ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ Π² рядС случаСв:

1. Π’ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π½Π° языках Π‘ ΠΈΠ»ΠΈ Π‘++, Π³Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ тСстирования Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ‡Π΅ΠΌ сама ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° тСстирования.

2. Β«ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅Β» измСнСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅, Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‰ΠΈΠ΅ΡΡ Π² систСмС Ρ‡Π΅Ρ€Π΅Π· ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ связСй.

3. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ боятся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, ΠΊΠ°ΠΊ ΠΈ Π½Π° Ρ‡Π΅ΠΌ скаТСтся это ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.

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

Π—Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

Π—Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ [LH89] пытаСтся свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ связываниС ΠΌΠ΅ΠΆΠ΄Ρƒ модулями Π² любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Он пытаСтся ΡƒΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ вас ΠΎΡ‚ проникновСния Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для получСния доступа ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ содСрТаниС Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΊΠΎΠ½Π° прСдставлСно Π½Π° рисункС 5.1.

Боздавая Β«ΡΠΊΡ€ΠΎΠΌΠ½ΡƒΡŽΒ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π° ΡΠΎΠ±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Π² максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ стСпСни, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ†Π΅Π»ΠΈ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ подсказкС:


Подсказка 36: ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ связываниС ΠΌΠ΅ΠΆΠ΄Ρƒ модулями


А Π½Π΅ всС Π»ΠΈ Ρ€Π°Π²Π½ΠΎ?

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π»ΠΈ слСдованиС Π·Π°ΠΊΠΎΠ½Ρƒ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π° (ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π΅ΠΎΡ€ΠΈΠΈ) Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π² создании ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π±ΠΎΠ»Π΅Π΅ простых Π² сопровоТдСнии?

ИсслСдования [Π’Π’Πœ96] ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ, Ρ‡Ρ‚ΠΎ классы Π² языкС Π‘++ с большими совокупностями ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΌΠ΅Π½Π΅Π΅ ΠΎΡˆΠΈΠ±ΠΊΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²Ρ‹, Ρ‡Π΅ΠΌ классы с нСбольшими совокупностями (ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠΎΠ² прСдставляСт собой число Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, нСпосрСдствСнно Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ класса).

Рис. 5.1. Π—Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π° для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ слСдованиС Π·Π°ΠΊΠΎΠ½Ρƒ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ совокупности ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΌ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ΅, Ρ‚ΠΎ классы, спроСктированныС Π΄Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠ΅Π½Π΅Π΅ склонны ΠΊ Π½Π°Π»ΠΈΡ‡ΠΈΡŽ ошибок (см. [URL 56], Π³Π΄Π΅ приводится Π±ΠΎΠ»Π΅Π΅ подробная информация ΠΎ ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… источниках ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ Π”Π΅ΠΌΠ΅Ρ‚Π΅Ρ€Π°).

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

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

ЀизичСская Π½Π΅ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ

Π’ Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ сохранСнии логичСской нСсвязанности ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ систСмы. Однако сущСствуСт Π²Π·Π°ΠΈΠΌΠΎΠ·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°, которая становится вСсьма сущСствСнной с ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° систСм. Π’ своСй ΠΊΠ½ΠΈΠ³Π΅ "Large-Scale Π‘++ Software Design" [Lak96] Π”ΠΆΠΎΠ½ Лакос обращаСтся ΠΊ вопросам, ΠΊΠ°ΡΠ°ΡŽΡ‰ΠΈΠΌΡΡ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌΠΈ систСму. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этих ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ физичСского проСктирования Π² ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ†ΠΈΠΊΠ» сборки ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° нСсколько Π΄Π½Π΅ΠΉ, Π° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΡ€Π²Π°Ρ‚ΡŒ сроки готовности всСй систСмы. Π“-Π½ Лакос ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ логичСскоС ΠΈ физичСскоС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ Π² Ρ‚Π°Π½Π΄Π΅ΠΌΠ΅ ΠΈ Ρ‡Ρ‚ΠΎ устранСниС ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π² большом Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, нанСсСнных Π΅ΠΌΡƒ цикличСскими зависимостями, прСдставляСтся Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ. ΠœΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Π²Π°ΠΌ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ эту ΠΊΠ½ΠΈΠ³Ρƒ, Ссли Π²Ρ‹ участвуСтС Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΡ€ΡƒΠΏΠ½ΠΎΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ осущСствляСтС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° языкС, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎΠΌ ΠΎΡ‚ Π‘++.

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ…Ρ€ΡƒΠΏΠΊΠΎΠΌΡƒ, Π½Π΅Π³ΠΈΠ±ΠΊΠΎΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌΡƒ. Или Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π±Π΅Π· Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹, относящиСся ΠΊ Π΄Π°Π½Π½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅:

β€’ ΠžΡ€Ρ‚ΠΎΠ³ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

β€’ ΠžΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

β€’ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚Ρƒ

β€’ Π‘алансировка рСсурсов

β€’ Π’сСго лишь Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС

β€’ ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€Π°Π³ΠΌΠ°Ρ‚ΠΈΠΊΠΎΠ²

β€’ Π‘СзТалостноС тСстированиС

Вопросы для обсуТдСния

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