Как ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±ΡƒΡ€Π΅Ρ‚ΠΊΡƒ / Π₯Π°Π±Ρ€

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±ΡƒΡ€Π΅Ρ‚ΠΊΡƒ / Π₯Π°Π±Ρ€

Π’Π·ΡΠ²ΡˆΠΈΡΡŒ Π·Π° написаниС нСбольшого, Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈ растущСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΌΡ‹ Β«Π½Π° собствСнной ΡˆΠΊΡƒΡ€Π΅Β» ΡƒΠ±Π΅Π΄ΠΈΠ»ΠΈΡΡŒ, насколько Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π°, Π½ΠΎ ΠΈ Π±Ρ‹Π»Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π°. НС Π²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ продуманная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½ΡƒΠΆΠ½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ большим ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ (просто для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Β«ΡΠΌΠ΅Ρ€Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΒ» отсутствия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°). Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, растСт Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. И Ссли Π½Π΅ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎΠ± этом Π·Π°Ρ€Π°Π½Π΅Π΅, Ρ‚ΠΎ довольно быстро наступаСт ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° Ρ‚Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°Π΅ΡˆΡŒ Π΅Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° экономит ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ сил, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π΅Π½Π΅Π³. А Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ опрСдСляСт Ρ‚ΠΎ, Π²Ρ‹ΠΆΠΈΠ²Π΅Ρ‚ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. И Π΄Π°ΠΆΠ΅ Ссли Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ всСго лишь ΠΎ «построСнии Ρ‚Π°Π±ΡƒΡ€Π΅Ρ‚ΠΊΠΈΒ» всС Ρ€Π°Π²Π½ΠΎ Π²Π½Π°Ρ‡Π°Π»Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΅Π΅ ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

К ΠΌΠΎΠ΅ΠΌΡƒ ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΡŽ оказалось, Ρ‡Ρ‚ΠΎ Π½Π° Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ вопрос: «Как ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ/ΠΊΡ€Π°ΡΠΈΠ²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ПО?Β» β€” Π½Π΅ Ρ‚Π°ΠΊ Π»Π΅Π³ΠΊΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΎΡ‚Π²Π΅Ρ‚. НС смотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³ ΠΈ статСй, посвящСнных ΠΈ шаблонам проСктирования ΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ проСктирования, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ SOLID (ΠΊΡ€Π°Ρ‚ΠΊΠΎ описаны Ρ‚ΡƒΡ‚, ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΡƒΡ‚, Ρ‚ΡƒΡ‚ ΠΈ Ρ‚ΡƒΡ‚) ΠΈ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»ΡΡ‚ΡŒ ΠΊΠΎΠ΄, всС Ρ€Π°Π²Π½ΠΎ ΠΎΡΡ‚Π°Π²Π°Π»ΠΎΡΡŒ чувство, Ρ‡Ρ‚ΠΎ Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ³ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚. Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Ссли Π±Ρ‹ Π²Π°ΠΌ Π΄Π°Π»ΠΈ мноТСство Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… инструмСнтов, Π½ΠΎ Π·Π°Π±Ρ‹Π»ΠΈ Π³Π»Π°Π²Π½ΠΎΠ΅ β€” ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ, Π° ΠΊΠ°ΠΊ ΠΆΠ΅ Β«ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±ΡƒΡ€Π΅Ρ‚ΠΊΡƒΒ».

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

Данная ΡΡ‚Π°Ρ‚ΡŒΡ являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° эти вопросы хотя Π±Ρ‹ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠΈ. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» собирался для сСбя, Π½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚, ΠΎΠ½ окаТСтся ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ Π΅Ρ‰Π΅. МнС данная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, Π½ΠΎ ΠΈ Π² ΠΈΠ½ΠΎΠΌ контСкстС Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° каТущиСся ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ООП ΠΈ ΠΏΠΎ настоящСму ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ оказалось довольно ΠΌΠ½ΠΎΠ³ΠΎ, поэтому ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ лишь общая идСя ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ описания, Π΄Π°ΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ прСдставлСниС ΠΎ Ρ‚Π΅ΠΌΠ΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π³Π΄Π΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ дальшС.


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

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

Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ систСмы. Π›ΡŽΠ±ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ приходится ΠΌΠ΅Π½ΡΡ‚ΡŒ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ β€” ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ трСбования, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅. Π§Π΅ΠΌ быстрСС ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ внСсти измСнСния Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π», Ρ‡Π΅ΠΌ мСньшС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈ ошибок это Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ β€” Ρ‚Π΅ΠΌ Π³ΠΈΠ±Ρ‡Π΅ ΠΈ конкурСнтоспособнСС систСма. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ получаСтся, Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π°ΠΌ это ΠΏΠΎΡ‚ΠΎΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, придСтся ΠΌΠ΅Π½ΡΡ‚ΡŒ. БпроситС Ρƒ сСбя: «А Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚, Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ окаТСтся Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΌ?Β», «КакоС количСство ΠΊΠΎΠ΄Π° подвСргнСтся ΠΏΡ€ΠΈ этом измСнСниям?Β». ИзмСнСниС ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π° систСмы Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Π΅Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹. По возмоТности, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Β«Π²Ρ‹Ρ€ΡƒΠ±Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°ΠΌΠ½Π΅Β», ΠΈ послСдствия Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ошибок Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² Ρ€Π°Π·ΡƒΠΌΠ½ΠΎΠΉ стСпСни ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. «Π₯ΠΎΡ€ΠΎΡˆΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° позволяСт ΠžΠ’ΠšΠ›ΠΠ”Π«Π’ΠΠ’Π¬ принятиС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

» (Π‘ΠΎΠ± ΠœΠ°Ρ€Ρ‚ΠΈΠ½) ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Β«Ρ†Π΅Π½ΡƒΒ» ошибок.

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ систСмы. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² систСму Π½ΠΎΠ²Ρ‹Π΅ сущности ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ Π΅Π΅ основной структуры. На Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ этапС Π² систСму ΠΈΠΌΠ΅Π΅Ρ‚ смысл Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ лишь основной ΠΈ самый Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» (ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ YAGNI β€” you ain’t gonna need it, Β«Π’Π°ΠΌ это Π½Π΅ понадобится») Но ΠΏΡ€ΠΈ этом Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°Ρ€Π°Ρ‰ΠΈΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ внСсСниС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈΜ† Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΡŒΡˆΠΈΡ… усилии.

Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° систСмы ΠΎΠ±Π»Π°Π΄Π°Π»Π° Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒΡŽ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±Ρ‹Π»Π° способна ΠΊ измСнСниям ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ) являСтся Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°ΠΆΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π΄Π°ΠΆΠ΅ сформулировано Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° β€” Β«ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° открытости/закрытости» (Open-Closed Principle β€” Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ· пяти ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² SOLID): ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сущности (классы, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ‚.ΠΏ.) Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ, Π½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ для ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π˜Π½Ρ‹ΠΌΠΈ словами: Π”ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы Π±Π΅Π· измСнСния/пСрСписывания ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… частСй систСмы.

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

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

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

БущСствуСт цСлая мСтодология Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° основС тСстов, которая Ρ‚Π°ΠΊ ΠΈ называСтся β€” Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· тСстированиС (Test-Driven Development, TDD).

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования

. БистСму ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах.

Π₯ΠΎΡ€ΠΎΡˆΠΎ структурированный, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΈ понятный ΠΊΠΎΠ΄. Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ. Над ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ мноТСство людСй β€” ΠΎΠ΄Π½ΠΈ уходят, приходят Π½ΠΎΠ²Ρ‹Π΅. ПослС написания ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‚ΠΎΠΆΠ΅, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, приходится людям, Π½Π΅ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Π²ΡˆΠ΅ΠΌ Π² Π΅Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄Π°Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΈ быстро Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² систСмС Π½ΠΎΠ²Ρ‹ΠΌ людям. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ структурирован, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ дублирования, ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. И ΠΏΠΎ возмоТности Π² систСмС Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ стандартныС, общСпринятыС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹Π΅ для программистов. Π§Π΅ΠΌ экзотичнСС систСма, Ρ‚Π΅ΠΌ слоТнСС Π΅Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠΌ (ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ наимСньшСго удивлСния β€” Principle of least astonishment. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса, Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΈ ΠΊ написанию ΠΊΠΎΠ΄Π°).

Ну ΠΈ для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°:

  1. Π•Π³ΠΎ тяТСло ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ любоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ влияСт Π½Π° слишком большоС количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… частСй систСмы. (Π–Π΅ΡΡ‚ΠΊΠΎΡΡ‚ΡŒ, Rigidity).
  2. ΠŸΡ€ΠΈ внСсСнии ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ Π»ΠΎΠΌΠ°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ части систСмы. (Π₯Ρ€ΡƒΠΏΠΊΠΎΡΡ‚ΡŒ, Fragility).
  3. Код тяТСло ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ слишком тяТСло Β«Π²Ρ‹ΠΏΡƒΡ‚Π°Ρ‚ΡŒΒ» ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ прилоТСния. (ΠΠ΅ΠΏΠΎΠ΄Π²ΠΈΠΆΠ½ΠΎΡΡ‚ΡŒ, Immobility).

НС смотря Π½Π° Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², всС ΠΆΠ΅ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… систСм считаСтся Π·Π°Π΄Π°Ρ‡Π° сниТСния слоТности. А для сниТСния слоТности Π½ΠΈΡ‡Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ дСлСния Π½Π° части, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ΠΎ. Иногда это Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ «раздСляй ΠΈ властвуй» (divide et impera), Π½ΠΎ ΠΏΠΎ сути Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎΠ± иСрархичСской Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. БлоТная систСма Π΄ΠΎΠ»ΠΆΠ½Π° строится ΠΈΠ· нСбольшого количСства Π±ΠΎΠ»Π΅Π΅ простых подсистСм, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ…, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, строится ΠΈΠ· частСй мСньшСго Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΈ Ρ‚.Π΄., Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° самыС нСбольшиС части Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ достаточно просты для нСпосрСдствСнного понимания ΠΈ создания.

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

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

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

  • ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ (Scalability)
    Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ систСму ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π·Π° счСт добавлСния Π½ΠΎΠ²Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.
  • Π Π΅ΠΌΠΎΠ½Ρ‚ΠΎΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΡΡ‚ΡŒ (Maintainability)
    ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ
  • Π—Π°ΠΌΠ΅Π½ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (Swappability)
    ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π»Π΅Π³ΠΊΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ тСстирования (Unit Testing)
    ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΎΡ‚ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ / ΠΏΠΎΡ‡ΠΈΠ½ΠΈΡ‚ΡŒ
  • ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ (Reusability)
    ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ
  • Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΡΡ‚ΡŒ (Maintenance)
    Ρ€Π°Π·Π±ΠΈΡ‚ΡƒΡŽ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒ

МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°Π·Π±ΠΈΠ΅Π½ΠΈΠΈ слоТной ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° простыС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Ρ†Π΅Π»ΡŒ всСх ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ проСктирования. А Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ Β«Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Β», Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, просто ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ дСлСния, плюс «Π½Π΅ΠΊΠΈΠ΅ конструктивныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ послС ΠΈΡ… принятия с Ρ‚Ρ€ΡƒΠ΄ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π°ΡŽΡ‚ΡΡ измСнСнию» (ΠœΠ°Ρ€Ρ‚ΠΈΠ½ Π€Π°ΡƒΠ»Π΅Ρ€ «АрхитСктура ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ»). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ Π² Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ сводятся ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ:

«ΠΡ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Π³Π»Π°Π²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ систСмы ΠΈ способы ΠΈΡ… взаимодСйствия. Π’Π°ΠΊΠΆΠ΅ это Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π°ΠΊΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²ΠΎΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰ΠΈΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ измСнСнию Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.«

«ΠΡ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° β€” это организация систСмы, воплощСнная Π² Π΅Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…, ΠΈΡ… ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡΡ… ΠΌΠ΅ΠΆΠ΄Ρƒ собой ΠΈ с ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
БистСма β€” это Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… для выполнСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.«

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° это, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Π°Ρ/блочная Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ систСмы. А Π·Π½Π°Ρ‡ΠΈΡ‚, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ β€” какая дСкомпозиция считаСтся Β«ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉΒ» ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΅Π΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ?


1. Π˜Π΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π΅ΡΠΊΠ°Ρ

НС стоит сходу Ρ€ΡƒΠ±ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° сотни классов. Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ иСрархичСски β€” сначала систСму Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ Π½Π° ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ/подсистСмы, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² самом ΠΎΠ±Ρ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅. Π—Π°Ρ‚Π΅ΠΌ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, дСлятся Π½Π° ΠΏΠΎΠ΄-ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π»ΠΈΠ±ΠΎ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅ систСму Π½Π° основныС смысловыС Π±Π»ΠΎΠΊΠΈ хотя Π±Ρ‹ мыслСнно. Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π²ΡƒΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ часто оказываСтся Π²ΠΏΠΎΠ»Π½Π΅ достаточно β€” систСма Π²Π½Π°Ρ‡Π°Π»Π΅ дСлится Π½Π° подсистСмы/ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ дСлятся Π½Π° классы.

Π­Ρ‚Π° ΠΌΡ‹ΡΠ»ΡŒ, ΠΏΡ€ΠΈ всСй своСй очСвидности, Π½Π΅ Ρ‚Π°ΠΊ банальна ΠΊΠ°ΠΊ каТСтся. НапримСр, Π² Ρ‡Π΅ΠΌ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΡΡƒΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ распространСнного Β«Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ шаблона» ΠΊΠ°ΠΊ МодСль-Π’ΠΈΠ΄-ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (MVC)? ВсСго навсСго Π² ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠΈ прСдставлСния ΠΎΡ‚ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ любоС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π½Π°Ρ‡Π°Π»Π΅ дСлится Π½Π° Π΄Π²Π° модуля β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ собствСнно самой бизнСс Π»ΠΎΠ³ΠΈΠΊΠΈ (МодСль), Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” Π·Π° взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ (ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈΠ»ΠΈ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅). Π—Π°Ρ‚Π΅ΠΌ, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ эти ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ нСзависимо, связь ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ослабляСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Π° Β«ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒΒ» (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎ способах ослаблСния связСй Π±ΡƒΠ΄Π΅Ρ‚ рассказано дальшС) ΠΈ ΠΌΡ‹ фактичСски ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΈ вострСбованных «шаблонов», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² настоящСС врСмя.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΌΠΈ модулями ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ уровня (ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ дСлСния систСмы Π½Π° Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ составныС части) ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ β€” «бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ°Β», Β«ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс», «доступ ΠΊ Π‘Π”Β», «связь с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ОБ».

Для обозримости Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ иСрархичСском ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΎΡ‚ 2 Π΄ΠΎ 7 ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

2. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ

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

ΠœΠΎΠ΄ΡƒΠ»ΡŒ = Ѐункция + Π”Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Π΅Π΅ выполнСния.

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠ³ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π±Π΅Π· ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, лишь Π½Π° основС своих входящих Π΄Π°Π½Π½Ρ‹Ρ….

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

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, грамотная дСкомпозиция основываСтся, ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго, Π½Π° Π°Π½Π°Π»ΠΈΠ·Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ систСмы ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для выполнСния этих Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

3. High Cohesion + Low Coupling
Π‘Π°ΠΌΡ‹ΠΌ ΠΆΠ΅ Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΌ качСства Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ являСтся Ρ‚ΠΎ, насколько ΠΌΠΎΠ΄ΡƒΠ»ΠΈ сфокусированы Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ своих Π·Π°Π΄Π°Ρ‡ ΠΈ нСзависимы. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: «ΠœΠΎΠ΄ΡƒΠ»ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ максимально сопряТСнны Π²Π½ΡƒΡ‚Ρ€ΠΈ (high internal cohesion) ΠΈ минимально связанны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ (low external coupling).«

  • High Cohesion, высокая ΡΠΎΠΏΡ€ΡΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Β«ΡΠΏΠ»ΠΎΡ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒΒ» Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля, Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ сфокусирован Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΡƒΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π° Π½Π΅ занимаСтся Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ нСсвязанных ΠΌΠ΅ΠΆΠ΄Ρƒ собой обязанностСй. (Π‘ΠΎΠΏΡ€ΡΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ β€” cohesion, Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΠ΅Ρ‚ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, выполняСмыС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ, связаны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ )

    БлСдствиСм High Cohesion являСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ СдинствСнной отвСтствСнности (Single Responsibility Principle β€” ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· пяти ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² SOLID), согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ лишь ΠΎΠ΄Π½Ρƒ ΠΎΠ±ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ соотвСтствСнно Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ большС ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ для Π΅Π³ΠΎ измСнСния.

  • Low Coupling, слабая ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ разбиваСтся систСма, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ, ΠΏΠΎ возмоТности, нСзависимы ΠΈΠ»ΠΈ слабо связанны Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС Π·Π½Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ ΠΎ Π΄Ρ€ΡƒΠ³Π΅ (ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ минимального знания).

    Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ модуля, Π½Π΅ придСтся ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΈΠ»ΠΈ эти измСнСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π§Π΅ΠΌ слабСС ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ, Ρ‚Π΅ΠΌ Π»Π΅Π³Ρ‡Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ/ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ/Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ/Ρ‡ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.


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

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

ДСлая Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ систСмы ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΅Π΅ качСство задавая сСбС вопросы: «ΠšΠ°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ выполняСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ?«, β€œΠΠ°ΡΠΊΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π»Π΅Π³ΠΊΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ?”, β€œΠ’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ?”, β€œΠšΠ°ΠΊ сильно измСнСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ отразятся Π½Π° ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…?”

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


Для наглядности, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΈΠ· Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ «Decoupling of Object-Oriented Systems», ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π°Ρ основныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Ρ€Π΅Ρ‡ΡŒ.

1. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹. Ѐасад


Π“Π»Π°Π²Π½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ систСмы, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ (ΠΈ стоящий Π·Π° Π½ΠΈΠΌΠΈ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ + Абстракция + ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ):
  • ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ для Π΄Ρ€ΡƒΠ³Π° «Ρ‡Π΅Ρ€Π½Ρ‹ΠΌΠΈ ящиками» (инкапсуляция). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Β«Π»Π΅Π·Ρ‚ΡŒΒ» Π²Π½ΡƒΡ‚Ρ€ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля ΠΈ Ρ‡Ρ‚ΠΎ Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΎΠ΄Π½ΠΎΠΉ подсистСмы Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΉ подсистСмы
  • ΠœΠΎΠ΄ΡƒΠ»ΠΈ/подсистСмы Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ лишь посрСдством интСрфСйсов (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, абстракций, Π½Π΅ зависящих ΠΎΡ‚ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ) БоотвСтствСнно ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ интСрфСйс ΠΈΠ»ΠΈ интСрфСйсы для взаимодСйствия с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ модулями.

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

Благодаря интСрфСйсам ΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΡƒ, ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ достигаСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄, Π±Π΅Π· измСнСния Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ написано (Open-Closed Principle). Π”ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° взаимодСйствиС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ описано ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² Π²ΠΈΠ΄Π΅ интСрфСйсов, ΠΈ Π½Π΅ завязано Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Β«Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΒ» для систСмы Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый интСрфСйс, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈ Ρ‚Π΅ΠΌ самым Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΊΠ°ΠΊ Π² конструкторС ΠΈΠ»ΠΈ Β«ΠΏΠ»Π°Π³ΠΈΠ½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅Β» (plugin architecture) β€” интСрфСйс слуТит своСго Ρ€ΠΎΠ΄Π° ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠΌ, ΠΊΡƒΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ любой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с подходящим Ρ€Π°Π·ΡŠΠ΅ΠΌΠΎΠΌ. Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ конструктора обСспСчиваСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ/Β«Π΄Π΅Ρ‚Π°Π»ΠΈΒ» Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅, с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΆΠ΅ Ρ€Π°Π·ΡŠΠ΅ΠΌΠ°ΠΌΠΈ (с Ρ‚Π΅ΠΌ ΠΆΠ΅ интСрфСйсом), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сколько ΡƒΠ³ΠΎΠ΄Π½ΠΎ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ (ΠΏΡ€ΠΈ этом ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΈ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Ρ‹Π²Π°ΡŽΡ‚ΡΡ). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ Open-Closed Principle ΠΈ ΠΏΡ€ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚ + Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° английском.

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ систСму Π±ΠΎΠ»Π΅Π΅ высокого уровня, рассматривая ΠΊΠ°ΠΆΠ΄ΡƒΡŽ подсистСму ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ ΠΈ игнорируя Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство. Они Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ модулям Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ этом Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурС Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°, Ρ‚Π΅ΠΌ самым Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ рСализуя ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ минимального знания, ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ основой слабой связанности. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ, Ρ‡Π΅ΠΌ Π² Π±ΠΎΠ»Π΅Π΅ ΠΎΠ±Ρ‰Π΅ΠΉ/абстрактной Ρ„ΠΎΡ€ΠΌΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ интСрфСйсы ΠΈ Ρ‡Π΅ΠΌ мСньшС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ ΠΎΠ½ΠΈ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ Π½Π° взаимодСйствиС, Ρ‚Π΅ΠΌ Π³ΠΈΠ±Ρ‡Π΅ систСма. ΠžΡ‚ΡΡŽΠ΄Π° фактичСски слСдуСт Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² SOLID β€” ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ раздСлСния интСрфСйса (Interface Segregation Principle), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выступаСт ΠΏΡ€ΠΎΡ‚ΠΈΠ² «толстых интСрфСйсов» ΠΈ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ большиС, ΠΎΠ±ΡŠΠ΅ΠΌΠ½Ρ‹Π΅ интСрфСйсы Π½Π°Π΄ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ малСнькиС ΠΈ спСцифичСскиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… интСрфСйсов (зависящиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ) Π·Π½Π°Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ ΠΈΠΌ Π² Ρ€Π°Π±ΠΎΡ‚Π΅. ЀормулируСтся ΠΎΠ½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: «ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Π·Π½Π°Ρ‚ΡŒ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ…), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚» ΠΈΠ»ΠΈ β€œΠœΠ½ΠΎΠ³ΠΎ спСциализированных интСрфСйсов Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉβ€.

Π˜Ρ‚Π°ΠΊ, ΠΊΠΎΠ³Π΄Π° взаимодСйствиС ΠΈ зависимости ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ лишь с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ интСрфСйсов, Ρ‚Π΅ Π΅ΡΡ‚ΡŒ абстракций, Π±Π΅Π· использования Π·Π½Π°Π½ΠΈΠΉ ΠΎΠ± ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ устройствС ΠΈ структурС, Ρ‚ΠΎ фактичСски Ρ‚Π΅ΠΌ самым рСализуСтся инкапсуляция, плюс ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€ΡΡ‚ΡŒ/ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ повСдСния систСмы Π·Π° счСт добавлСния ΠΈ использования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π° счСт ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ°. Из этого слСдуСт, Ρ‡Ρ‚ΠΎ концСпция интСрфСйсов Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΈ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ смыслС ΠΎΠ±ΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ всС основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ООП β€” Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΠ±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ, ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Но Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ вопрос. Когда ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ‚ Π½Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сами ΠΆΠ΅ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйсы, Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ интСрфСйса модуля? ΠžΡ‚Π²Π΅Ρ‚: Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ языком шаблонов, Ρ‚ΠΎ ΠΊΠ°ΠΊ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π·Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ интСрфСйса модуля ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ β€” Ѐасад.

Ѐасад β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-интСрфСйс, Π°ΠΊΠΊΡƒΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π² сСбС высокоуровнСвый Π½Π°Π±ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ подсистСмой, ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π·Π° собой Π΅Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру ΠΈ ΠΈΡΡ‚ΠΈΠ½Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ подсистСмы. Π‘Π»ΡƒΠΆΠΈΡ‚ Π΅Π΄ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π²Ρ…ΠΎΠ΄Π° β€” «Π²Ρ‹ ΠΏΠΈΠ½Π°Π΅Ρ‚Π΅ фасад, Π° ΠΎΠ½ Π·Π½Π°Π΅Ρ‚, ΠΊΠΎΠ³ΠΎ Ρ‚Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠ½ΡƒΡ‚ΡŒ Π² этой подсистСмС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅».

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ, самый Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ интСрфСйсов ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Ρ‚Π΅ΠΌ самым ΠΎΡΠ»Π°Π±Π»ΡΡ‚ΡŒ ΠΈΡ… ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ β€” «Ѐасад». Помимо этого «Ѐасад» Π²ΠΎΠΎΠ±Ρ‰Π΅ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с модулями Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ с ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ всС Ρ‚Π΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ проСктирования классов.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π₯отя Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов ΠΏΠΎΠ½ΠΈΠΌΠ°ΡŽΡ‚ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ интСрфСйсов ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ классов (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²), складываСтся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ идСя нСобходимости ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйсы Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ зароТдаСтся. МнС Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠ»ΠΎΡΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»ΠΎ статСй ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π³Π΄Π΅ интСрфСйсы Π±Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ для ослаблСния связанности ΠΌΠ΅ΠΆΠ΄Ρƒ модулями/слоями ΠΈ соотвСтствСнно использовался Π±Ρ‹ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ «Ѐасад». ΠšΡ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΠ΄Π΅Π» «Ѐасад» Π½Π° схСмах ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠ΅Π³ΠΎΡΡ Β«Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ³ΠΎ шаблона» МодСль-Π’ΠΈΠ΄-ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, ΠΈΠ»ΠΈ хотя Π±Ρ‹ ΡΠ»Ρ‹ΡˆΠ°Π» Π΅Π³ΠΎ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ срСди ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ², входящих Π² состав MVC (наряду с Observer ΠΈ Composite)? А вСдь ΠΎΠ½ Ρ‚Π°ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ МодСль это Π½Π΅ класс, это ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ. И Ρƒ создатСля MVC Π’Ρ€ΡŽΠ³Π²Π΅ РССнскауга ΠΎΠ½, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, Π±Ρ‹Π» (смотрим Β«The Model-View-Controller (MVC ). Its Past and PresentΒ», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ это писалось Π² 1973 Π³ΠΎΠ΄Ρƒ ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сСйчас Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌ ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ β€” Presentaition/UI Ρ‚ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°Π»ΠΎΡΡŒ Editior). Π‘Ρ‚Ρ€Π°Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ «Ѐасад» потСрялся Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ ΠΈ вновь ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠ½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ лишь Π½Π΅Π΄Π°Π²Π½ΠΎ, Π² основном, Π² ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ MVC ΠΎΡ‚ Microsoft (Β«Microsoft Application Architecture GuideΒ»). Π’ΠΎΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ слайды:

А Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΊ соТалСнию, приходится Π·Π°Π½ΠΎΠ²ΠΎ Β«ΠΏΠ΅Ρ€Π΅ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΒ» идСю, Ρ‡Ρ‚ΠΎ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ МодСли, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π΅ΠΉ Π·Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ прилоТСния, Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π° Ρ‡Π΅Ρ€Π΅Π· интСрфСйс, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ «Ѐасад», ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅, ΠΎΡ‚ΠΊΡƒΠ΄Π° для ΠΏΠΎΠ»Π½ΠΎΡ‚Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρ‹ взят Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ слайд:

2. Dependency Inversion. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ созданиС ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ зависимостСй


Π€ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ содСрТали ссылок Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π° всС зависимости ΠΈ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΡΡ‚Ρ€ΠΎΠΈΠ»ΠΈΡΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° основС абстракций, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ интСрфСйсов, выраТаСтся ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠΌ Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ зависимостСй (Dependency Inversion β€” послСдний ΠΈΠ· пяти ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² SOLID):
  • ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ уровня. И Ρ‚Π΅, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ абстракций.
  • Абстракции Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ. РСализация Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ абстракции.

Π£ этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Π½Π΅ самая очСвидная Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ°, Π½ΠΎ ΡΡƒΡ‚ΡŒ Π΅Π³ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π±Ρ‹Π»ΠΎ сказано, выраТаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΠΌ: «ВсС зависимости Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ интСрфСйсов». ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ инвСртирования зависимостСй разбираСтся Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠœΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈΠ»ΠΈ Β«Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ DIP, SRP, IoC, DI ΠΈ Ρ‚.ΠΏ.Β». Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΈΠ· разряда must-read, Π»ΡƒΡ‡ΡˆΠ΅Π΅, Ρ‡Ρ‚ΠΎ доводилось Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ПО.

НС смотря Π½Π° свою Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΆΡƒΡ‰ΡƒΡŽΡΡ простоту это ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, Ρ‡Π°Ρ‰Π΅ всСго. А ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π² ΠΊΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹/модуля ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ new ΠΈ создаСм Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ Ρ‚Π΅ΠΌ самым вмСсто зависимости ΠΎΡ‚ интСрфСйса образуСтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

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

Ну Π° Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, ΠΊΠ°ΠΊ это дСлаСтся Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΈ ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ свои «зависимости», Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Dependency Inversion.

Π˜Ρ‚Π°ΠΊ, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ модуля Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π²Π΅Ρ‰ΠΈ:

  • Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚, ΠΊΠ°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ выполняСт
  • Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ Π΅Π³ΠΎ окруТСния, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ/модулями Π΅ΠΌΡƒ придСтся ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»ΠΎ ΠΈ
  • ΠΊΠ°ΠΊ ΠΎΠ½ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ

ΠšΡ€Π°ΠΉΠ½Π΅ Π²Π°ΠΆΠ½ΠΎ Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅. И Ρ‚ΡƒΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹:
  1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ сам создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΅ΠΌΡƒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹.

    Но, ΠΊΠ°ΠΊ ΠΈ Π±Ρ‹Π»ΠΎ сказано, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ β€” для создания Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ конструктор ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ Π½Π΅ ΠΎΡ‚ интСрфСйса, Π° ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС позволяСт шаблон Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠœΠ΅Ρ‚ΠΎΠ΄ (Factory Method).

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

    Π’ случаях, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ сСмСйства взаимосвязанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², вмСсто Π€Π°Π±Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠœΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Абстрактная Π€Π°Π±Ρ€ΠΈΠΊΠ° (Abstract factory).

  2. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π±Π΅Ρ€Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρƒ ΠΊΠΎΠ³ΠΎ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, извСстный всСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΆΠ΅ Π»Π΅ΠΆΠΈΡ‚ всС, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹).

    Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ рСализуСтся шаблоном Π›ΠΎΠΊΠ°Ρ‚ΠΎΡ€ БСрвисов (Service Locator), основная идСя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ имССтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π·Π½Π°ΡŽΡ‰ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС зависимости (сСрвисы), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

    Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ„Π°Π±Ρ€ΠΈΠΊ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Service Locator Π½Π΅ создаёт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π° фактичСски ΡƒΠΆΠ΅ содСрТит Π² сСбС инстанцированныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (ΠΈΠ»ΠΈ Π·Π½Π°Π΅Ρ‚ Π³Π΄Π΅/ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, Π° Ссли ΠΈ создаСт, Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ). Π€Π°Π±Ρ€ΠΈΠΊΠ° ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ создаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π² ΠΏΠΎΠ»Π½ΡƒΡŽ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌ Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Π›ΠΎΠΊΠ°Ρ‚ΠΎΡ€ ΠΆΠ΅ сСрвисов Π²Ρ‹Π΄Π°Π΅Ρ‚ ссылки Π½Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅, ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Π²Ρ‹Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Service Locator, Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ остороТным, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ с Π²Π°ΠΌΠΈ ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π΅Ρ‰Π΅.

    ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Service Locator ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π΄Π° ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π»ΡŽΠ±Ρ‹ΠΌ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ программисту способом. Π‘Π°ΠΌ Service Locator ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ статичСским классом с Π½Π°Π±ΠΎΡ€ΠΎΠΌ статичСских ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², синглСтоном ΠΈΠ»ΠΈ интСрфСйсом ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΌ классам Ρ‡Π΅Ρ€Π΅Π· конструктор ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄.

    Π’ΠΎΠΎΠ±Ρ‰Π΅ говоря, Service Locator ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠΌ ΠΈ Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ (Π³Π»Π°Π²Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ создаСт нСявныС связности ΠΈ Π΄Π°Π΅Ρ‚ лишь Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π°). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρƒ ΠœΠ°Ρ€ΠΊΠ° Π‘ΠΈΠΌΠ°Π½Π°:
    Service Locator is an Anti-Pattern
    Abstract Factory or Service Locator?

  3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ Β«Π΄ΠΎΠ±Ρ‹Π²Π°Π½ΠΈΠΈΒ» зависимостСй. Он лишь опрСдСляСт, Ρ‡Ρ‚ΠΎ Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π° всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ зависимости Π΅ΠΌΡƒ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ (Β«Π²ΠΏΡ€Ρ‹ΡΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡΒ») ΠΈΠ· Π²Π½Π΅ ΠΊΠ΅ΠΌ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

    Π­Ρ‚ΠΎ Ρ‚Π°ΠΊ ΠΈ называСтся β€” Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ЗависимостСй (Dependency Injection). ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ зависимости ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π»ΠΈΠ±ΠΎ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² конструктора (Constructor Injection), Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса (Setter injection).

    Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ процСсс создания зависимости β€” вмСсто самого модуля созданиС зависимостСй ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ·Π²Π½Π΅. ΠœΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ· Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта, становится пассивным β€” Π½Π΅ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚, Π° для Π½Π΅Π³ΠΎ Π΄Π΅Π»Π°ΡŽΡ‚. Π’Π°ΠΊΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ направлСния дСйствия называСтся Π˜Π½Π²Π΅Ρ€ΡΠΈΡ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ (Inversion of Control), ΠΈΠ»ΠΈ ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π“ΠΎΠ»Π»ΠΈΠ²ΡƒΠ΄Π° β€” «НС Π·Π²ΠΎΠ½ΠΈΡ‚Π΅ Π½Π°ΠΌ, ΠΌΡ‹ сами Π²Π°ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ½ΠΈΠΌΒ».

    Π­Ρ‚ΠΎ самоС Π³ΠΈΠ±ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π΄Π°ΡŽΡ‰Π΅Π΅ модулям Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΡΡ‚ΡŒ. МоТно ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½ΠΎ Π² ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΌΠ΅Ρ€Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Β«ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ СдинствСнной отвСтствСнности» β€” ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ сфокусирован Π½Π° Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свою Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π½Π΅ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ Π½ΠΈ ΠΎ Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ. ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ всСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ Π·Π°Π΄Π°Ρ‡Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ «спСциалист» (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ зависимостями ΠΈ ΠΈΡ… внСдрСниями занимаСтся Π½Π΅ΠΊΠΈΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ β€” IoC-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€).

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


Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΎ способах создания ΠΈ получСния зависимостСй ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π΄ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ хотя Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎ Dependency Inversion, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Inversion of Control; Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π² русской Π²ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ содСрТится ошибка ΠΈ этим Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°ΠΌ Π΄Π°Π½Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ опрСдСлСния). А ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Inversion of Control (вмСстС с Dependency Injection ΠΈ Service Locator) Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ разбираСтся ΠœΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΌ Π€Π°ΡƒΠ»Π΅Ρ€ΠΎΠΌ ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‹ ΠΎΠ±Π΅ΠΈΡ… Π΅Π³ΠΎ статСй: «Inversion of Control Containers and the Dependency Injection pattern» ΠΈ β€œInversion of Control”.

НС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ использованиС интСрфСйсов для описания зависимостСй ΠΌΠ΅ΠΆΠ΄Ρƒ модулями (Dependency Inversion) + ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ созданиС ΠΈ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ этих зависимостСй (ΠΏΡ€Π΅ΠΆΠ΄Π΅ всСго Dependency Injection) ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ/Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°ΠΌΠΈ для сниТСния связанности. Они слуТат Ρ‚Π΅ΠΌ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ дСрТится слабая ΡΠ²ΡΠ·Π°Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π΅Π³ΠΎ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΊ измСнСниям, ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΈ Π±Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ°Π»ΠΎ смысла. Но, Ссли с Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ всС Π² порядкС, Ρ‚ΠΎ Π·Π½Π°Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.

3. Π—Π°ΠΌΠ΅Π½Π° прямых зависимостСй Π½Π° ΠΎΠ±ΠΌΠ΅Π½ сообщСниями


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

Бвязь ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΠΌΠ΅Π½ сообщСниями являСтся Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ слабой, Ρ‡Π΅ΠΌ прямая Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ рСализуСтся ΠΎΠ½Π° Ρ‡Π°Ρ‰Π΅ всСго с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… шаблонов:

  • ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ (Observer). ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ Π² случаС зависимости Β«ΠΎΠ΄ΠΈΠ½-ΠΊΠΎ-ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ», ΠΊΠΎΠ³Π΄Π° мноТСство ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ зависят ΠΎΡ‚ состояния ΠΎΠ΄Π½ΠΎΠ³ΠΎ β€” основного. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ рассылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ основной ΠΌΠΎΠ΄ΡƒΠ»ΡŒ просто осущСствляСт рассылку ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… сообщСний всСм своим подписчикам, Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, заинтСрСсованныС Π² этой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ интСрфСйс «подписчика» ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° рассылку. Находит ΡˆΠΈΡ€ΠΎΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² систСмах с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ интСрфСйсом, позволяя ядру прилоТСния (ΠΌΠΎΠ΄Π΅Π»ΠΈ) ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ нСзависимым ΠΈ ΠΏΡ€ΠΈ этом ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ связанныС с Π½ΠΈΠΌ интСрфСйсы ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ измСнСния ΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ.

    ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ взаимодСйствия посрСдством рассылки сообщСний ΠΈΠΌΠ΅Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ «бонус» β€” Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сущСствования «подписчиков» Π½Π° Β«ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅Β» (Ρ‚.Π΅. рассылаСмыС) сообщСния. ΠšΠ°Ρ‡Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ спроСктированная подобная систСма допускаСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² любоС врСмя.

  • ΠŸΠΎΡΡ€Π΅Π΄Π½ΠΈΠΊ (Mediator). ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠ΅ΠΆΠ΄Ρƒ модулями имССтся Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ. ΠœΠ΅Π΄ΠΈΠ°Ρ‚ΠΎΡ€ выступаСт Π² качСствС посрСдника Π² ΠΎΠ±Ρ‰Π΅Π½ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ модулями, дСйствуя ΠΊΠ°ΠΊ Ρ†Π΅Π½Ρ‚Ρ€ связи ΠΈ избавляСт ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΡ‚ нСобходимости явно ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ Π΄Ρ€ΡƒΠ³ Π½Π° Π΄Ρ€ΡƒΠ³Π°. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ взаимодСйствиС ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ («всС со всСми») замСняСтся взаимодСйствиСм ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ лишь с посрСдником (Β«ΠΎΠ΄ΠΈΠ½ со всСми»). Говорят, Ρ‡Ρ‚ΠΎ посрСдник инкапсулируСт взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ мноТСством ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

    Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² аэропорту. ВсС сообщСния, исходящиС ΠΎΡ‚ самолСтов, ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² башню управлСния диспСтчСру, вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ самолСтами Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. А диспСтчСр ΡƒΠΆΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ самолСты ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π»Π΅Ρ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ°Π΄ΠΈΡ‚ΡŒΡΡ, ΠΈ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ отправляСт самолСтам ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΡƒΡ‚.


Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ «простыС сообщСния, Π½ΠΎ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’Π°ΠΊΠΎΠ΅ взаимодСйствиС описываСтся шаблоном Команда (Command). Π‘ΡƒΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² инкапсулировании запроса Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ дСйствия Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (фактичСски этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ содСрТит ΠΎΠ΄ΠΈΠ½ СдинствСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ execute()), Ρ‡Ρ‚ΠΎ позволяСт Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ это дСйствиС Π΄Ρ€ΡƒΠ³ΠΈΠΌ модулям Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ-ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ Π»ΡŽΠ±Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π°Π΄ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. ΠšΡ€Π°Ρ‚ΠΊΠΎ рассмотрСн Ρ‚ΡƒΡ‚, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π³Π»Π°Π²Π° ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Π±Π°Π½Π΄Ρ‹ Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ‚ΡƒΡ‚, Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΡ Π½Π° Ρ…Π°Π±Ρ€Π΅.

4. Π—Π°ΠΌΠ΅Π½Π° прямых зависимостСй Π½Π° ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±Ρ‰Π΅Π΅ ядро


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

Π―Π΄Ρ€ΠΎ-посрСдник ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‚ΡŒ ΠΎ модулях-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° apache ), Ρ‚Π°ΠΊ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, ΠΈΠ»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, нСзависимым ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Ρ… Π½Π΅ Π·Π½Π°Ρ‚ΡŒ. Π’ сущности ΠΈΠΌΠ΅Π½Π½ΠΎ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² «шаблонС» МодСль-Π’ΠΈΠ΄-ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ (MVC), Π³Π΄Π΅ с ΠΎΠ΄Π½ΠΎΠΉ МодСлью (ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ ядром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ‰ΠΈΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ мноТСство ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ синхронно ΠΈ ΠΏΡ€ΠΈ этом Π½Π΅ Π·Π½Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ ΠΎ Π΄Ρ€ΡƒΠ³Π΅, Π° МодСль Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Π½ΠΈΡ…. Ничто Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ ΠΎΠ±Ρ‰Π΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ интСрфСйсы, Π½ΠΎ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

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

5. Π—Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Ρ€Ρ‹ (law of Demeter)


Π—Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ использованиС нСявных зависимостСй: «ΠžΠ±ΡŠΠ΅ΠΊΡ‚ A Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ нСпосрСдствСнный доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ C, Ссли Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° A Π΅ΡΡ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ B ΠΈ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° B Π΅ΡΡ‚ΡŒ доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ C«. Java-ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

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

Π—Π°ΠΊΠΎΠ½ Π”Π΅ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠΈΠΉΡΡ Β«ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ минимального знания», ΡΠ²Π»ΡΡŽΡ‰Π΅ΠΉΡΡ основой слабой связанности ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚/ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ ΠΎ структурС ΠΈ свойствах Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²/ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Ρ‡Π΅Π³ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ собствСнныС ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹. Аналогия ΠΈΠ· ΠΆΠΈΠ·Π½ΠΈ: Если Π’Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ собака ΠΏΠΎΠ±Π΅ΠΆΠ°Π»Π°, Π³Π»ΡƒΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ Π»Π°ΠΏΠ°ΠΌΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ собакС, Π° ΠΎΠ½Π° ΡƒΠΆΠ΅ разбСрётся со своими Π»Π°ΠΏΠ°ΠΌΠΈ сама.

6. ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ вмСсто наслСдования


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

ΠœΠΎΠ³Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡΠΎΠ²Π΅Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° шаблон Π”Π΅Π»Π΅Π³Π°Ρ‚ (Delegation/Delegate) ΠΈ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠΉ ΠΈΠ· ΠΈΠ³Ρ€ шаблон ΠšΠΎΠΌΠΏΠΎΠ½Π΅Ρ‚ (Component), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ описан Π² ΠΊΠ½ΠΈΠ³Π΅ Β«Game Programming PatternsΒ» (ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π³Π»Π°Π²Π° ΠΈΠ· этой ΠΊΠ½ΠΈΠ³ΠΈ Π½Π° английском ΠΈ Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄).


Π‘Ρ‚Π°Ρ‚ΡŒΠΈ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅:

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

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠ΄Π΅ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ…, посвящСнных Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΠ³Ρ€. Game Programming Patterns β€” большой сайт с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ описаниСм ΠΌΠ½ΠΎΠ³ΠΈΡ… шаблонов ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈΡ… примСнСния ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ создания ΠΈΠ³Ρ€ (оказываСтся, Π΅ΡΡ‚ΡŒ ΡƒΠΆΠ΅ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ β€” Β«Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ программирования», спасибо strannik_k Π·Π° ссылку). Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΡ‚Π°Ρ‚ΡŒΡ «Гибкая ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠ°Ρ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° для ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… ΠΈΠ³Ρ€Β» (ΠΈ Π΅Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π». НуТно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²Π²ΠΈΠ΄Ρƒ Ρ‡Ρ‚ΠΎ Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ Π½Π°Π·Ρ‹Π²Π°Π΅Ρ‚ шаблоном «ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ»).

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² проСктирования:


Π•ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹/ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ GRASP, описанныС ΠšΡ€ΡΠ³ΠΎΠΌ Лэрманом Π² ΠΊΠ½ΠΈΠ³Π΅ Β«ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ UML 2.0 ΠΈ шаблонов проСктирования», Π½ΠΎ ΠΎΠ½ΠΈ большС Π·Π°ΠΏΡƒΡ‚Ρ‹Π²Π°ΡŽΡ‚ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΡΡΠ½ΡΡŽΡ‚. ΠšΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ ΠΈ обсуТдСниС Π½Π° Ρ…Π°Π±Ρ€Π΅ (самоС Ρ†Π΅Π½Π½ΠΎΠ΅ Π² коммСнтариях).

Ну ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ:

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния / Π₯Π°Π±Ρ€

БСгодня процСсс создания слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· раздСлСния Π½Π° этапы ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Под ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠΎΠ²ΠΎΠΊΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ этапов:
  • Анализ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ созданиС Π’Π— (взаимодСйствия с Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΎΠΌ)
  • ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° согласно ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ)
  • ВСстированиС ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ°
  • Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Π‘ΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Утилизация

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

UML β€” являСтся графичСским языком для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, описания ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², конструирования ΠΈ докумСнтирования Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… систСм (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π² частности). Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… CASE срСдств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Rational Rose (http://www-01.ibm.com/software/rational/) ΠΈ Enterprise Architect (http://www.sparxsystems.com.au/). На основС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ UML строится Сдиная информационная модСль. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ CASE срСдства способны Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… языках, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ рСвСрсивного ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³Π°. (РСвСрсивный ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ модСль ΠΈΠ· ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΊ Π½Π΅ΠΌΡƒ.)

Рассмотрим Ρ‚ΠΈΠΏΡ‹ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌ для Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ (это must have, хотя Ρ‚ΠΈΠΏΠΎΠ² Π³ΠΎΡ€Π°Π·Π΄ΠΎ большС):

  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования (use case diagram)
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (class diagram)
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний (statechart diagram)
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (sequence diagram)
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (collaboration diagram)
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (component diagram)
  • Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания (deployment diagram)
Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования (use case diagram)

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° классов (class diagram)

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний (statechart diagram)

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этой Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ β€” ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ состояний ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² совокупности Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ элСмСнта ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° состояний прСдставляСт динамичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ сущностСй, Π½Π° основС спСцификации ΠΈΡ… Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° восприятиС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… событий.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (sequence diagram)

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ (collaboration diagram)

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²ΠΎ взаимодСйствии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, содСрТащиС имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π΅Π³ΠΎ класс ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ². Как ΠΈ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ классов, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ассоциации ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π»ΠΈΠ½ΠΈΠΉ. ΠŸΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ассоциации ΠΈ Ρ€ΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π΄Π°Π½Π½ΠΎΠΉ ассоциации.
Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΊΠΎΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Ρ€ΠΎΠ»ΠΈ Π²ΠΎ взаимодСйствии.

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² (component diagram)

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

Π”ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° развСртывания (deployment diagram)

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

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

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

ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° β€” Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° vc.ru

{«id»:146268,»url»:»https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka»,»title»:»\u042d\u0442\u0430\u043f\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430″,»services»:{«facebook»:{«url»:»https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka&title=\u042d\u0442\u0430\u043f\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.com\/intent\/tweet?url=https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka&text=\u042d\u0442\u0430\u043f\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka&text=\u042d\u0442\u0430\u043f\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u042d\u0442\u0430\u043f\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0434\u0438\u0437\u0430\u0439\u043d \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430&body=https:\/\/vc.ru\/dev\/146268-etapy-sozdaniya-mobilnogo-prilozheniya-proektirovanie-dizayn-i-razrabotka»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

2787 просмотров

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹? Π§Π°ΡΡ‚ΡŒ 1

Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹? ΠšΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΄Π°Ρ‘Ρ‚ Π½Π°ΠΌ ΠΎΠ΄Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° этот вопрос: с выявлСния ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… абстракций ΠΈ построСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

ДТСймс Π Π°ΠΌΠ±ΠΎ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· создатСлСй языка UML ΠΈ Rational Unified Process’Π°, Π² своСй ΠΊΠ½ΠΈΠ³Π΅ «UML 2.0. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°» ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π½Π°ΠΌ Ρ‚Π°ΠΊΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ проСктирования:

  1. Π˜Π·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ классы ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.
  2. Π£Π΄Π°Π»ΠΈΡ‚ΡŒ лишниС классы (нСсущСствСнныС ΠΈΠ»ΠΈ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅).
  3. Π‘Π²ΡΠ·Π°Ρ‚ΡŒ классы ассоциациями.
  4. Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² классах Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.
  5. Π Π΅ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ классы ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ наслСдования.
  6. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ классы прилоТСния.
  7. Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.
Π”ΠΆ. Π Π°ΠΌΠ±ΠΎ, М. Π‘Π»Π°Ρ…Π°. UML 2.0. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. 2-Π΅ ΠΈΠ·Π΄. – БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2007, стр. 218 – 285.

ПослС выполнСния этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдполагаСтся, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ Π½Π°Π΄ΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΌΠ½Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΡ‡Ρ‘Π½Ρ‹Ρ… ΠΈ философов эпохи ВозроТдСния ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π»Π΅Ρ‚Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚, наблюдая Π·Π° ΠΏΠΎΠ»Ρ‘Ρ‚Π°ΠΌΠΈ ΠΏΡ‚ΠΈΡ†.Β 

ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ ошибка Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΠΊΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π½Π΅ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π½Ρ‹ΠΌΠΈ модСлями. ΠžΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ с Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ точности ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ внСшниС проявлСния явлСния Π±Π΅Π· понимания Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π½ΠΎ-слСдствСнной связи, Π±Π΅Π· прСдоставлСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΅Π³ΠΎ воспроизвСдСния.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ (Π° Ссли Π²Ρ‹Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Ρ‚ΠΎΡ‡Π½Π΅Π΅ – ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ ΠΈΠ»ΠΈ Π² ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ бСсплодны, насколько бСсплодно ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΡ€Ρ‹Π»ΡŒΠ΅Π² ΠΏΡ‚ΠΈΡ†Ρ‹, навСшиваниС ΠΈΡ… Π½Π° Ρ€ΡƒΠΊΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° послСднСго Π² ΠΏΠΎΠ»Ρ‘Ρ‚. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΈΠ΄Ρ‘Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ: сначала разрабатываСтся тСория функционирования устройства ΠΈ лишь Π·Π°Ρ‚Π΅ΠΌ устройство рСализуСтся «Π² ΠΌΠ΅Ρ‚Π°Π»Π»Π΅».

ВСрнёмся ΠΊ вопросу, вынСсСнному Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. Π‘ Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹?

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

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ любой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ:

1)Β Β Β Β Β  с составлСния списка ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°;

2)Β Β Β Β Β  с проСктирования Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΡƒΠΆΠ½ΠΎ сначала ΡΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСхнологичСский процСсс.

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

Π•Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Π² тСкстовом Π²ΠΈΠ΄Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования (см.:Β  ΠšΠΎΠ±Π΅Ρ€Π½, АлистСр. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ описания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ систСмам/ΠŸΠ΅Ρ€. с Π°Π½Π³Π». – М.: Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Β«Π›ΠΎΡ€ΠΈΒ», 2002 Π³. – 263 с.: ΠΈΠ».) ΠΈ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Π»ΠΎΠΊ-схСмы, flowchart’Π°).

Рассмотрим ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΡ€ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΌΠ΅Ρ‚Π΅ΠΎΡΡ‚Π°Π½Ρ†ΠΈΡŽ ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ Π“Ρ€Π°Π΄ΠΈ Π‘ΡƒΡ‡Π° ΠΈ продСмонстрируСм, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Π΅ΠΌ это ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ Ρƒ Π“. Π‘ΡƒΡ‡Π°.

ВрСбования ΠΊ мСтСорологичСской станции БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ автоматичСский ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ³ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:
  • ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²Π΅Ρ‚Ρ€Π°;
  • Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π°;
  • баромСтричСскоС Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅;
  • Π²Π»Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π΄ΡƒΡ…Π°.
БистСма Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, Π² число ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… входят:
  • коэффициСнт рСзкости ΠΏΠΎΠ³ΠΎΠ΄Ρ‹;
  • Ρ‚ΠΎΡ‡ΠΊΠ° росы;
  • ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹;
  • ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ баромСтричСского давлСния.
Π’ систСмС Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ сообщСнии ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… значСниях ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π° послСдниС 24 часа. БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ постоянный Π²Ρ‹Π²ΠΎΠ΄ Π½Π° дисплСй Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСх восьми ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя ΠΈ Π΄Π°Ρ‚Ρƒ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ значСния любого ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π·Π° 24 часа, сопровоТдаСмыС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ произвСдСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Π·Π°ΠΌΠ΅Ρ€Π°.
БистСма Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°Π»ΠΈΠ±Ρ€ΠΎΠ²ΠΊΡƒ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎ извСстным ΠΎΠΏΠΎΡ€Π½Ρ‹ΠΌ значСниям, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ врСмя ΠΈ Π΄Π°Ρ‚Ρƒ.
Π‘ΡƒΡ‡ Π“. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° C++, 2-Π΅ ΠΈΠ·Π΄./ΠŸΠ΅Ρ€ с Π°Π½Π³Π». – М.: «Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘ΠΈΠ½ΠΎΠΌ», БПб: «ΠΠ΅Π²ΡΠΊΠΈΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚», 1998 Π³., стр. 284, ΠΈΠ»ΠΈ: http://www.helloworld.ru/texts/comp/other/oop/ch08.htm

Начнём ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ систСмы с описания процСсса измСрСния ΠΈ отобраТСния Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

ΠŸΠ΅Ρ€Π²Π°Ρ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π±ΡƒΠ΄Π΅Ρ‚ довольно простой:

На Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Π° считываСтся с Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΈ отобраТаСтся Π½Π° экранС. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ это Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π΄Π°Ρ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΡ€Ρ‚Ρƒ, ΠΈ Π΅Π³ΠΎ показания ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚.

ВнСсём Π² Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ измСнСния:

Π’ Π½ΠΎΠ²ΠΎΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΡŒ: Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΏΠΎΡ€Ρ‚ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΡ…, Π½ΡƒΠΆΠ΅Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ «ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚» этот ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

ВнСсём ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния:

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, скорСС всСго, Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ json ΠΈΠ»ΠΈ Π² спСциализированном XML). БоотвСтствСнно, потрСбуСтся парсСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚:

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π½Π° экран ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΈΡ† Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² градусах ΡˆΠΊΠ°Π»Ρ‹ ЦСльсия, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ Π² градусах ΡˆΠΊΠ°Π»Ρ‹ Π€Π°Ρ€Π΅Π½Π³Π΅ΠΉΡ‚Π°).

ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ этап прСобразования градусов Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅:

НаконСц, Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ мСстС экрана (ΠΈΠ»ΠΈ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅).

ВнСсём измСнСния Π² схСму:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ достаточно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС процСсса измСрСния ΠΈ отобраТСния Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ измСнится процСсс, Ссли вмСстС с Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€ΠΎΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ атмосфСрноС Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ атмосфСрного давлСния ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ самому ΠΏΠΎΡ€Ρ‚Ρƒ, Ρ‡Ρ‚ΠΎ ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ†Π΅Π½Ρ‚Ρ€Π°Ρ‚ΠΎΡ€.

Π’ этом случаС, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° процСсса Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Наряду с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, ΠΊΠ°ΠΊ:

  • парсСр атмосфСрного давлСния,
  • ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π΅Ρ€ атмосфСрного давлСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠ· ΠΊΠΈΠ»ΠΎ-паскалСй Π² ΠΌΠΌ. Ρ€Ρ‚ΡƒΡ‚Π½ΠΎΠ³ΠΎ столба) ΠΈ
  • ΠΎΠΊΠ½ΠΎΠΌ для Π²Ρ‹Π²ΠΎΠ΄Π° давлСния,

— ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Π°ΠΌΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, появляСтся ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ «Π΄ΠΈΡΠΏΠ΅Ρ‚Ρ‡Π΅Ρ€», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСт, ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΡˆΠ»ΠΎ сообщСниС (ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° атмосфСрного давлСния) ΠΈ направляСт Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ.

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

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘ΠΌ список классов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ:

Π§ΠΈΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π½Π° ΠΏΠΎΡ€Ρ‚.

Π§ΠΈΡ‚Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΡ€Ρ‚Π° ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° поступило сообщСниС, ΠΈ пСрСсылаСт Π΅Π³ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ.

Π Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ сообщСниС ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹.

Barometric Pressure Parser

Π Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ сообщСниС ΠΎΡ‚ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠ° атмосфСрного давлСния.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΈΡ† Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

Barometric Pressure Converter

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ атмосфСрноС Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΈΡ… Π΅Π΄ΠΈΠ½ΠΈΡ† Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρƒ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅.

Barometric Pressure Window

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ атмосфСрноС Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅.

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΎΠΊΠ½Π° Π½Π° экранС.

Π›Π˜Π’Π•Π ΠΠ’Π£Π Π:

1.Β Β Β Β Β  Π‘ΡƒΡ‡ Π“. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° C++, 2-Π΅ ΠΈΠ·Π΄./ΠŸΠ΅Ρ€ с Π°Π½Π³Π». – М.: «Π˜Π·Π΄Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ Π‘ΠΈΠ½ΠΎΠΌ», БПб: «ΠΠ΅Π²ΡΠΊΠΈΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚», 1998 Π³. Или: http://www.helloworld.ru/texts/comp/other/oop/index.htm 4.Β Β Β Β Β  Π Π°ΠΌΠ±ΠΎ Π”ΠΆ., Π‘Π»Π°Ρ…Π° М. UML 2.0. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. 2-Π΅ ΠΈΠ·Π΄./ΠŸΠ΅Ρ€. с Π°Π½Π³Π». – БПб.: ΠŸΠΈΡ‚Π΅Ρ€, 2007. – 544 с.: ΠΈΠ».

7 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

Адаптированный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠœΡΡ‚ΡŒΡŽ Гуая Β«The Best Free Project Management SoftwareΒ».

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

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌΠΈ?

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΡƒΠ·ΠΈΡ‚ΡŒ список Π»ΡƒΡ‡ΡˆΠΈΡ… бСсплатных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΌΡ‹ ΠΎΡ‚Π±ΠΈΡ€Π°Π»ΠΈ инструмСнты, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ критСриям:

  • ПО Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ бСсплатным для Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ количСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².
  • Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅. ΠœΡ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° – kanban, Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π“Π°Π½Ρ‚Ρ‚Π°, списки to-do. А Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния Π² наш список Π½Π΅ вошли просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ доступны Π»ΡƒΡ‡ΡˆΠΈΠ΅ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
  • Π₯остинг. Π•ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Ρ… бСсплатных инструмСнтов для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ это ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° настройку. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌ прилоТСния с хостингом Π² компаниях, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… эти инструмСнты.

ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ инструмСнты, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‰ΠΈΠ΅ Π²Π΅Π±-прилоТСния (хотя ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ синхронизированныС Π²Π΅Π±-, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈ дСсктопныС прилоТСния). Если для вас Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π±Ρ‹Π»Π° доступна ΠΎΠ½Π»Π°ΠΉΠ½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Projectlibre ΠΈ GanttProject Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ прилоТСниям, пСрСчислСнным Π½ΠΈΠΆΠ΅. Оба эти инструмСнта ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ дСсктопными прилоТСниями, созданными Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Microsoft Project.

7 Π»ΡƒΡ‡ΡˆΠΈΡ… бСсплатных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

  • Trello (Web, macOS, Windows, iOS, Android) β€” для людСй ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Π½Π°Π» связи.
  • MeisterTask (Web, Windows, macOS, iOS, Android) β€” для объСдинСния ΠΈΠ΄Π΅ΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ, планирования ΠΈ выполнСния.
  • KanbanFlow (Web) β€” ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ доску kanban, Ρ‚Π°ΠΉΠΌ-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€ ΠΈ Pomodoro.
  • Freedcamp (Web, iOS) β€” Π΅Π΄ΠΈΠ½Ρ‹ΠΉ инструмСнт для управлСния всСми ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ ΠΈ всСй ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ.
  • Asana (Web, iOS, Android) β€” для создания списков to-do.
  • Paymo (Web, Windows, macOS, Linux, iOS, Android) β€” для фрилансСров с почасовой ΠΎΠΏΠ»Π°Ρ‚ΠΎΠΉ.
  • Bitrix24 (Web, Windows, macOS, iOS, Android) β€” для классичСского ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ Π“Π°Π½Ρ‚Ρ‚Π°.

Trello

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

НачнитС с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… списков Π²Π°ΡˆΠΈΡ… Π·Π°Π΄Π°Ρ‡ ΠΈ кастомизируйтС эти списки Π² соотвСтствии со стадиями вашСго Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«to-doΒ», Β«Π² процСссС», «сдСлано»). Или ΠΆΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ частями вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Β», Β«Π΄ΠΈΠ·Π°ΠΉΠ½Β», «дистрибуция»).

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

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊ вашим услугам ΠΎΠΏΡ†ΠΈΠΈ Power-Up (Π² мСню Π²Π΅Π±-прилоТСния). Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ голосования ΠΊ Π·Π°Π΄Π°Ρ‡Π°ΠΌ, автоматичСски ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ старыС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ доски Trello ΠΊΠ°ΠΊ для Ρ€Π°Π±ΠΎΡ‡ΠΈΡ…, Ρ‚Π°ΠΊ ΠΈ для Π»ΠΈΡ‡Π½Ρ‹Ρ… Π½ΡƒΠΆΠ΄.

Π¦Π΅Π½Π° Trello: бСсплатный ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство досок ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΎΠ΄ΠΈΠ½ Power-Up Π½Π° доску, влоТСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎ 10MB. Π—Π° $9,99 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ Business Class с Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Power-Ups, влоТСниями Π΄ΠΎ 250MB ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΠΈΠΌΠΈ настройками контроля доступа.

MeisterTask

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

Если ваши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ Π·Π°Ρ€ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π½Π° сСссиях ΠΌΠΎΠ·Π³ΠΎΠ²ΠΎΠ³ΠΎ ΡˆΡ‚ΡƒΡ€ΠΌΠ° с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°Ρ€Ρ‚ мыслСй, Ρƒ вас Π΅ΡΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ MeisterTask: интСграция MindMeister. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свой ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° ΠΊΠ°Ρ€Ρ‚Π΅ мыслСй, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² MeisterTask, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ идСю Π² Π·Π°Π΄Π°Ρ‡Ρƒ. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых быстрых способов ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅ΠΈ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΏΠ»Π°Π½, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ.

Π¦Π΅Π½Π° MeisterTask: Basic plan бСсплатный. Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π΄Π²Π΅ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ прилоТСния ΠΈ влоТСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎ 20MB. Pro plan Π·Π° $8,25 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ, влоТСния Π΄ΠΎ 200MB ΠΈ Π°Ρ€Ρ…ΠΈΠ² Π·Π°Π΄Π°Ρ‡ с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ поиска ΠΏΠΎ Π½Π΅ΠΌΡƒ.

KanbanFlow

Π’Π°ΠΌ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρƒ вас Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡? KanbanFlow это Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΎ Β«kanban-доска»-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€. Π­Ρ‚ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Π²Π΅Π΄Π΅Ρ‚ Π»ΠΎΠ³ΠΈ Ρ‚ΠΎΠ³ΠΎ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ½Π° остаСтся Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ спискС. Π’Π°ΠΉΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ Pomodoro, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ спринтами ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΎ ΠΏΠ΅Ρ€Π΅Ρ€Ρ‹Π²Π°Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго дня.

Π’Π°ΠΉΠΌΠ΅Ρ€ Pomodoro Π² KanbanFlow Ρ‚Π°ΠΊΠΆΠ΅ просит Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ послуТило ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ прСрывания Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌ приходится ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ сСссии Π½Π° ΠΏΠ°ΡƒΠ·Ρƒ. ВмСстС эти инструмСнты ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π²Π°ΠΌ Π½Π°ΠΉΡ‚ΠΈ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² Π²Π°ΡˆΠΈΡ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссах, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ подталкивая ваши ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ.

Π¦Π΅Π½Π° KanbanFlow: бСсплатный ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство Π·Π°Π΄Π°Ρ‡ ΠΈ досок, Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Pomodoro ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΎ продуктивности. Premium ΠΏΠ»Π°Π½ Π·Π° $5 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ влоТСния Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠ² ΠΈ сторонниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ.

Freedcamp

Freedcamp Π΄Π°Π΅Ρ‚ Π²Π°ΠΌ пространство для управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ ΠΈ инструмСнты ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для планирования расписания вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π—Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π² стандартный список to-do ΠΈΠ»ΠΈ kanban-доску. Π‘Π°ΠΌΡ‹Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ°ΠΌΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€Π΅ – это ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ краткосрочноС ΠΈ долгосрочноС ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

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

Π¦Π΅Π½Π° Freedcamp: бСсплатный ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², влоТСния Π΄ΠΎ 10MB. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½, Minimalist, Π·Π° $1,49 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΡ€Π΅ΠΌΠΈΡƒΠΌ-ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, влоТСния Ρ„Π°ΠΉΠ»ΠΎΠ² Π΄ΠΎ 25MB ΠΈ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡.

Asana

Π’Π°Ρˆ to-do список Π½Π΅ ΠΏΠ»ΠΎΡ…, просто Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° для управлСния ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ? ИмСнно это ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Asana. Π­Ρ‚ΠΎ инструмСнт для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ ΠΏΠΎΠ΄-списки, Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт панСль инструмСнтов, Π³Π΄Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, какая Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΡƒΠΆΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°. Π’Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π΅Π»Π°Π»ΠΈ Π±Ρ‹ это Π² любом Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π½ΠΎ Ρƒ вас Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для сотрудничСства ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅.

Для Π²Π°ΡˆΠΈΡ… Π»ΠΈΡ‡Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ (ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ…, Π½ΠΎ Π½Π΅ относящихся ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ) Π² Asana Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ завСсти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ списки. Ими ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ с ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ людьми. Π—Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π»ΠΈΡ‡Π½ΠΎ Π²Ρ‹, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π² просмотрС My Tasks – это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ быстро ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС, ΠΎ Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ.

Π¦Π΅Π½Π° Asana: бСсплатный ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ β€” Π΄ΠΎ 15, Π±Π°Π·ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ поиска. Premium ΠΏΠ»Π°Π½ Π·Π° $9,99 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ расписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ поиск ΠΈ зависимости Π·Π°Π΄Π°Ρ‡.

Paymo

Paymo это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚Π°ΠΉΠΌ-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€. Оно сущСствСнно ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ фрилансСрам ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ отслСТиваниС ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ДобавляйтС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π·Π°Ρ‚Π΅ΠΌ добавляйтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ для этих ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ – Π·Π°Π΄Π°Ρ‡ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹. Для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ описаниС ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π£ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Π²ΠΈΠ΄Π° Π·Π°Π΄Π°Ρ‡ – список ΠΈΠ»ΠΈ kanban-доска. Π’Π°ΠΊΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС Π·Π°Π΄Π°Ρ‡ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ статусу, Π΄Π°Ρ‚Π΅, ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρƒ ΠΈ Ρ‚.Β Π΄.

Когда Π²Ρ‹ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, просто Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ эту Π·Π°Π΄Π°Ρ‡Ρƒ Π² Ρ‚Π°ΠΉΠΌ-Ρ‚Ρ€Π΅ΠΊΠ΅Ρ€Π΅ Paymo ΠΈ ΠΊΠ»ΠΈΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€ΠΈ остановкС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ добавляСт врСмя Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, указывая ΠΏΡ€ΠΈ этом Π·Π°Π΄Π°Ρ‡Ρƒ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

Когда ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΡ€Π° Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ счСт, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π²Π°ΠΌ Π΄Π°Π½Π½Ρ‹Π΅. ЭкспортируйтС, распСчатайтС ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ списка ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ просто Π²Π·ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… для создания Π±Ρ€Π΅Π½Π΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ счСта прямо Π² Paymo. МоТно Π΄Π°ΠΆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ свои счСта для ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΠ»Π°Ρ‚Π΅ΠΆΠ΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· Stripe ΠΈΠ»ΠΈ PayPal.

Π¦Π΅Π½Π° Paymo: бСсплатный ΠΏΠ»Π°Π½ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ количСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², 1GB пространства ΠΈ Π΄ΠΎ Ρ‚Ρ€Π΅Ρ… счСтов. План Small Office Π·Π° $9,56 с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ количСство счСтов, 50GB пространства ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

Bitrix24

Π£ вас большая ΠΈΠ»ΠΈ распрСдСлСнная ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‰Π°ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ? Bitrix24 это прСкрасноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ классичСский Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ инструмСнтами для сотрудничСства. Bitrix24 создан Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ «всё-Π²-ΠΎΠ΄Π½ΠΎΠΌΒ» для управлСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ, Π΄Π° ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Π² Ρ†Π΅Π»ΠΎΠΌ. Π’ Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ всС: ΠΎΡ‚ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ интрасСти, Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΉ ΠΈ возмоТности ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ экраном Π΄ΠΎ HR-инстурмСнтов ΠΈ инструмСнтов для ΠΌΠ΅Π½Π΅Π΄ΠΆΠΌΠ΅Π½Ρ‚Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ².

ΠžΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΈΠ΄ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Π“Π°Π½Ρ‚Ρ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС сразу. Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ сотрудников ΠΈ Π΄Π΅Π΄Π»Π°ΠΉΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ выгорания Ρ‡Π»Π΅Π½ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. А Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΊΡƒΠΏΠΈΡ‚ΡŒ premium-ΠΏΠ»Π°Π½, Ρ‚ΠΎ Π²Π°ΠΌ стоит Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Bitrix24 это ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½Π΅ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с Ρ‚Π²Π΅Ρ€Π΄ΠΎΠΉ ставкой ΠΎΠΏΠ»Π°Ρ‚Ρ‹ (Ρ‚.Β Π΅., Π½Π΅ «с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² мСсяц»), Π° это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ довольно экономно.

Π¦Π΅Π½Π° Bitrix24: бСсплатный ΠΏΠ»Π°Π½ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ число ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π΄ΠΎ 12 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ 5GB ΠΎΠ½Π»Π°ΠΉΠ½-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°. Π—Π° $39/мСсяц ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ условия Π΄ΠΎ 24 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ 24GB пространства.



Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для проСктирования Π΄ΠΎΠΌΠΎΠ², ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€ΠΎΠ²

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

ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности

ΠžΠ±Ρ‰ΠΈΠΉ Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния:

ЛицСнзия

Windows

MacOS

Русский язык

Удобство интСрфСйса

ΠšΠ°Ρ‡Π΅ΡΡ‚Π²ΠΎ 3D-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ

Π Π΅ΠΉΡ‚ΠΈΠ½Π³

бСсплатно / pro

9

10

9

12 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚ ΠΈ инструмСнты для домашнСго планирования

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

ΠœΡ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ пСрСчислСнныС Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ просты Π² использовании, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ пользовались ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠΎΠΌ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΡƒ для вашСго пространства ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π΄Π΅ΠΊΠΎΡ€.

12 Π»ΡƒΡ‡ΡˆΠΈΡ… бСсплатных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π΄ΠΎΠΌΠ°

Π­Ρ‚ΠΎ наши Π»ΡŽΠ±ΠΈΠΌΡ‹Π΅ инструмСнты ΠΈ прилоТСния для Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠ½Π°Ρ‚:

  1. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ 5D
  2. Roomstyler
  3. Ikea Home Planner Tools
  4. Π”ΠΈΠ·Π°ΠΉΠ½ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹
  5. Homestyler
  6. Π Π΅ΠΌΠΎΠ½Ρ‚Π½ΠΈΠΊ Π΄ΠΎΠΌΠ°
  7. Sweet Home 3D
  8. SmartDraw
  9. HomeByMe
  10. MagicPlan
  11. Amikasa
  12. DecorM .ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ 5D

    Planner 5D ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ сСбя ΠΊΠ°ΠΊ самоС ΠΎΠ±ΡˆΠΈΡ€Π½ΠΎΠ΅ бСсплатноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅. Π‘ Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ Π΄ΠΎ ΠΌΠ΅Π»ΡŒΡ‡Π°ΠΉΡˆΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΠΊΠ½Π°, лСстницы ΠΈ ΠΏΠ΅Ρ€Π΅Π³ΠΎΡ€ΠΎΠ΄ΠΊΠΈ. НС ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π°Ρ…; ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π»Π°Π½Π΄ΡˆΠ°Ρ„Ρ‚Π½Ρ‹ΠΌ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ ΠΈ бассСйнами — всС с ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰Π΅ΠΉ 3D-Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ.

    Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΡ‚ΡŒ Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΡ… Π³Π°Π»Π΅Ρ€Π΅ΠΈ. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ ΠΌΠΎΠ΄Π½Ρ‹Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ‹, созданныС Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ½Π°Ρ‚.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 4,3 Π·Π²Π΅Π·Π΄Ρ‹ Π² App Store ΠΈ Google Play Store.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Planner 5D Π² App Store ΠΈΠ»ΠΈ Π² Google Play .

    2. Roomstyler

    Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ это Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ свой собствСнный ΠΏΠ»Π°Π½ этаТа ΠΈΠ»ΠΈ ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΊΠΎΠΌΠ½Π°Ρ‚. ΠŸΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π΄ΠΎΠΌΠ° Roomstyler 3D позволяСт Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ стСны, Π΄Π²Π΅Ρ€ΠΈ ΠΈ ΠΎΠΊΠ½Π° ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· Π³Π°Π»Π΅Ρ€Π΅ΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΊΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π°.

    Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ прост Π² использовании ΠΈ позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ ΠΈ 3D-ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°ΠΌΠ΅Ρ€Ρƒ ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹, ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 120000 Ρ„ΠΈΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠ² для вставки Π² свою модСль, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС, ΠΎΡ‚ нСбольшой ΠΊΡƒΡ…ΠΎΠ½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Π΄ΠΎ садовых инструмСнтов.

    Если Π²Π°ΠΌ нравится Π΄Π΅ΠΊΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π² свою Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ модСль, Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Доступно для ΠΏΠΎΠΊΡƒΠΏΠΊΠΈΒ», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ†Π΅Π½Ρƒ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ приобрСтСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ бСсплатно, Π½Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡΡŒ ΠΊ Π½Π΅ΠΉ. Но Ссли Π²Ρ‹ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅ΡΡŒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ свою модСль Π½Π° Facebook, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ваши Π΄Ρ€ΡƒΠ·ΡŒΡ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Π΅Π΅.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 2,0 Π·Π²Π΅Π·Π΄Ρ‹ Π² App Store.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Roomstyler ΠΈΠ· App Store .

    3. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ Π΄ΠΎΠΌΠ° Ikea

    Когда Π²Ρ‹ листаСтС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Ikea, Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ опрСдСлСнная книТная ΠΏΠΎΠ»ΠΊΠ° ΠΈ стол Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π² вашСм пространствС? Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅! Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ бСсплатного, простого Π² использовании инструмСнта Ikea Home Planner Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ этаТа, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ мСбСль ΠΈ Π΄Π΅ΠΊΠΎΡ€ ΠΈΠ· Π³Π°Π»Π΅Ρ€Π΅ΠΈ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ список ΠΆΠ΅Π»Π°Π½ΠΈΠΉ для просмотра Π² ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅.

    Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с помСщСниями Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΊΡƒΡ…Π½ΠΈ, ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ спальни, ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Π²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для хранСния.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: НЕВ

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ikea Home Planner Tools . ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ нСдоступны Π² App Store ΠΈΠ»ΠΈ Google Play.

    4. Π”ΠΈΠ·Π°ΠΉΠ½ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹

    ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚Π΅ Π±Ρ€Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠΎΠΉ дСсятки ΠΎΠ±Ρ€Π°Π·Ρ†ΠΎΠ² ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ всС ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Π² вашСм ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ. ВмСсто этого ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Armstrong для 3D-Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт Π²Π°ΠΌ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²Ρ‹Π΅ сочСтания ΠΏΠΎΠ»ΠΎΠ², ΠΌΠ΅Π±Π΅Π»ΠΈ, ΠΏΠΎΡ‚ΠΎΠ»ΠΊΠΎΠ², стСн ΠΈ ΡΡ‚ΠΎΠ»Π΅ΡˆΠ½ΠΈΡ†, Π½Π΅ выходя ΠΈΠ· Π΄ΠΎΠΌΠ°.

    Design a Room позволяСт Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ Π² своСм Π΄ΠΎΠΌΠ΅, Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΡ‚ΠΈΠ»ΡŒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, соврСмСнный, Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ, Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡŒΡŽΠΆΠ½) ΠΈ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ с Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ, тСкстурами ΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΊΠΎΠΉ. Π’Ρ‹ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚Π° краски Π¨Π΅Ρ€Π²ΠΈΠ½Π° Уильямса, PPG ΠΈ Π‘Π΅Π½Π΄ΠΆΠ°ΠΌΠΈΠ½Π° ΠœΡƒΡ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ соотвСтствовали Π²Π°ΡˆΠ΅ΠΌΡƒ Π΄ΠΈΠ·Π°ΠΉΠ½Ρƒ.

    Одна ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… особСнностСй этого бСсплатного инструмСнта — это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠ²Π°Ρ€Π°Ρ…, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚ΡŒ ΠΈΡ…. НапримСр, ΠΏΡ€ΠΈ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠΈ Π²Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ рСкомСндуСтся.Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½ вашСй ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΡΡ‚ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: НЕВ

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π΅ трСбуСтся. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-инструмСнт Armstrong Design a Room .

    5. ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΠΊ ΠΏΠΎ Π΄ΠΎΠΌΡƒ

    Autodesk, ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ AutoCAD, REVIT ΠΈ 3ds Studio Max, Ρ…ΠΎΡ€ΠΎΡˆΠΎ извСстСн своими ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ для проСктирования. Π’Π°ΠΊΠΆΠ΅ Π±Ρ‹Π»ΠΎ создано ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚ Homestyler, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π»ΠΈ Easyhome Π² 2017 Π³ΠΎΠ΄Ρƒ.

    Π­Ρ‚Π° удобная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ обучСния, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ.ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ пСрСтаскивания ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½Ρ‹ этаТСй. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ 3D-ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° этаТСй ΠΈ 3D-Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚ Homestyler идСально подходят для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ½Π°Ρ‚.

    Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ для ΠΌΠ΅Π±Π»ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ дСкорирования позволяСт Π²Π°ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΡˆΠΊΠ°Ρ„Ρ‹, Π±Ρ‹Ρ‚ΠΎΠ²ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ, мСбСль ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ всС ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Ρ‹ Π΄Π΅ΠΊΠΎΡ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ ΡƒΠΊΡ€Π°ΡΡŒΡ‚Π΅ своС пространство ΠΊΠΎΠ²Ρ€ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π°ΠΌΠΈ ΠΎΡ‚Π΄Π΅Π»ΠΊΠΈ ΠΎΡ‚ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ. Когда ваш Π΄ΠΈΠ·Π°ΠΉΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ², Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 4.5 Π·Π²Π΅Π·Π΄ Π² App Store ΠΈ 3,9 Π·Π²Π΅Π·Π΄Ρ‹ Π² Google Play Store.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Homestyler Π² App Store ΠΈΠ»ΠΈ Google Play .

    6. Π Π΅ΠΌΠΎΠ½Ρ‚Π½ΠΈΠΊ Π΄ΠΎΠΌΠ°

    ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

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

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: НЕВ

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π΅ трСбуСтся. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ инструмСнтом ΠΎΠ½Π»Π°ΠΉΠ½ ΠΏΠΎ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Ρƒ The Home Renovator .

    7. ΠœΠΈΠ»Ρ‹ΠΉ Π΄ΠΎΠΌ 3D

    Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для 3D-Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для Ρ‚Π΅Ρ…, ΠΊΠΎΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ большС возмоТностСй настройки ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹. Онлайн-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС являСтся бСсплатным, хотя трСбуСтся информация для Π²Ρ…ΠΎΠ΄Π°. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Sweet Home 3D (Π·Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ), которая позволяСт Π²Π°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ, ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ваши ΠΏΠ»Π°Π½Ρ‹ Π΄ΠΎΠΌΠ°. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²:

    • ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΌΠ΅Π±Π΅Π»ΠΈ позволяСт Π²Π°ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ‚Π°ΡΠΊΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… прямо Π½Π° ΠΏΠ»Π°Π½ этаТа.
    • Π’ спискС домашнСй ΠΌΠ΅Π±Π΅Π»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π° ΠΏΠΎ названию ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ.
    • План Π΄ΠΎΠΌΠ° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π°ΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ 2D, Π³Π΄Π΅ располоТСны стСны, ΠΎΠΊΠ½Π°, Π΄Π²Π΅Ρ€ΠΈ ΠΈ мСбСль (Ссли ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ свСрху).
    • Π”ΠΎΠΌΠ°ΡˆΠ½ΠΈΠΉ 3D-Π²ΠΈΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ваш ΠΏΠ»Π°Π½ Π² Ρ‚Ρ€Π΅Ρ… измСрСниях, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

    Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ этаТа, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Sweet Home 3D, ΠΎΡ‚ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΈ ΠΎΠ±Π²Π΅Π΄ΠΈΡ‚Π΅ свой ΠΏΠ»Π°Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ простой, Π½ΠΎ Π² Π½Π΅ΠΉ Π΅ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ большСго ΠΎΡ‚ своСго ΠΎΠΏΡ‹Ρ‚Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ планирования.

    Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ: БСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΌΠΎΠΆΠ½ΠΎ здСсь. 13,99 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² БША Π² App Store.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 3,5 Π·Π²Π΅Π·Π΄Ρ‹ Π² App Store.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Sweet Home 3D Π² App Store . НСт вСрсии для Google Play.

    8. SmartDraw

    Smartdraw — это Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ ΠΈ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡˆΠΊΠ°Π»Ρ‹, ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²Ρ‹Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π±Π»ΠΎΠΊ-схСмы. Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ с Π±Π»ΠΎΠΊ-схСмой находится функция для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ»Π°Π½ΠΎΠ² этаТСй ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Π½ΠΎΠ² ΠΊΠΎΠΌΠ½Π°Ρ‚.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SmartDraw для планирования офисных ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ, ΠΊΠ²Π°Ρ€Ρ‚ΠΈΡ€, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ½Π°Ρ‚ ΠΈ Π΄Π°ΠΆΠ΅ фасадов Π·Π΄Π°Π½ΠΈΠΉ.

    SmartDraw Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для частных Π»ΠΈΡ† ΠΈ прСдприятий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ хотят Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ срСдств Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС для Π΄ΠΈΠ·Π°ΠΉΠ½Π°. Π£ Π½Π΅Π΅ Π΅ΡΡ‚ΡŒ бСсплатный ΠΏΡ€ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, ΠΈ Ссли Π²Ρ‹ ΠΎΡΡ‚Π°Π½Π΅Ρ‚Π΅ΡΡŒ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ приобрСсти ΠΏΠΎΠ»Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. SmartDraw ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ практичСски Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Π±Π΅Π»ΠΈ, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ, ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ»Π°Π½ΠΎΠ².

    Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ: ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ бСсплатно.$ 9.95 / мСс. ΠΈΠ»ΠΈ 297 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π·Π° ΠΎΠ΄Π½Ρƒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: НЕВ

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ SmartDraw ΠΈΠ»ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΠ½Π»Π°ΠΉΠ½-Π²Π΅Ρ€ΡΠΈΡŽ Π½Π° Π²Π΅Π±-сайтС SmartDraw .

    9. HomeByMe

    HomeByMe — это Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚. НачнитС Π² 2D ΠΈ стройтС свою ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ с нуля, заканчивая мСбСлью ΠΈ аксСссуарами. Когда Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² 3D, Π³Π΄Π΅ стСны ΡƒΠΏΠ°Π΄ΡƒΡ‚, ΠΈ Π²Ρ‹ смоТСтС Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΡŒ созданного Π²Π°ΠΌΠΈ ΠΏΠ»Π°Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π°.

    Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ: ΠŸΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ бСсплатно. 14,99 Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ² Π·Π° ΠΏΠΎΠ»Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: НЕВ

    HomeByMe — это , ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ .

    10. MagicPlan

    MagicPlan — это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ для iOS ΠΈ Android, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ создаСт ΠΏΠ»Π°Π½Ρ‹ этаТСй ΠΈΠ· отсканированных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹, Π±Π΅Π· нСобходимости ΠΈΠ·ΠΌΠ΅Ρ€ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ идСальноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ поэтаТных ΠΏΠ»Π°Π½ΠΎΠ². Как ΠΈ слСдовало ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ, ΠΎΠ½ Π½Π΅ Ρ‚Π°ΠΊ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π² своих творСниях, ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ слоТныС прилоТСния, Π½ΠΎ ΠΎΠ½ ΠΏΠΎΠ»Π΅Π·Π΅Π½ для быстрого создания ΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π°.

    Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ: БСсплатно (ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π΄Π²Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°), Π·Π°Ρ‚Π΅ΠΌ $ 9,99 / мСс.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 4,7 Π·Π²Π΅Π·Π΄Ρ‹ Π² App Store ΠΈ 4,4 Π·Π²Π΅Π·Π΄Ρ‹ Π² Google Play Store

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ MagicPlan Π² App Store ΠΈΠ»ΠΈ Π² Google Play .

    11. Amikasa

    Amikasa — это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠ΅Π΅ Π½Π°Π³Ρ€Π°Π΄Ρƒ Webby Π·Π° свой эстСтичный интСрфСйс. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ хвалят Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΊΠΎΠΌΠ½Π°Ρ‚ с использованиСм ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π΅Π½Π΄ΠΎΠ².

    ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ свой Π΄ΠΈΠ·Π°ΠΉΠ½, появится функция Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ пошагового руководства, которая ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΡƒΡ€ ΠΏΠΎ Π½ΠΎΠ²ΠΎΠΌΡƒ пространству. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΎΠΌ Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ связь. ВСрсия для iOS Π½Π΅Π΄Π°Π²Π½ΠΎ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ​​по Ρ†Π΅Π½Π΅ 0,99 Π΄ΠΎΠ»Π»Π°Ρ€Π° БША, Π° вСрсии для Android Π½Π΅Ρ‚. БущСствуСт Π±Π΅Ρ‚Π°-вСрсия Windows, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ бСсплатно.

    Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ: 0,99 Π΄ΠΎΠ»Π»Π°Ρ€Π° БША Π·Π° Π²Π΅Ρ€ΡΠΈΡŽ для iOS; бСсплатная вСрсия для Windows.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 2,9 Π·Π²Π΅Π·Π΄Ρ‹ Π² App Store.НСт вСрсии для Android.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Amikasa Π² App Store ΠΈΠ»ΠΈ с Π²Π΅Π±-сайта Amikasa .

    12. DecorMatters

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ процСсс Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ ΠΈΠ³Ρ€ΠΈΠ²ΠΎΠΉ, Ρ‚ΠΎ DecorMatters для вас. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, искусствСнного ΠΈΠ½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚Π° ΠΈ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½ Π² процСссС проСктирования ΠΊΠΎΠΌΠ½Π°Ρ‚. И ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ это нравится.

    Π•ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ², Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ½Π΅Ρ‚Ρ‹ ΠΈ ΡƒΡ€ΠΎΠ²Π½ΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½Π°Π³Ρ€Π°Π΄Ρ‹ Π·Π° участиС Π² дизайнСрских Π·Π°Π΄Π°Ρ‡Π°Ρ….ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹ Π½Π° основС шаблонов ΠΈΠ»ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ свою Ρ€Π΅Π°Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ½Π°Ρ‚Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΠΎΠΌΠ½Π°Ρ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ творСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Π² поисках вдохновСния. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ создатСли ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠ°Ρ†ΠΈΡŽ Π·Π° счСт ΠΏΡ€ΠΈΠ±Ρ‹Π»ΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ΠΎΡ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌ ΠΈ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ авторских ΠΏΡ€Π°Π².

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³: 4,7 Π·Π²Π΅Π·Π΄Ρ‹ Π² App Store.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ DecorMatters Π² App Store .ВСрсия Android нСдоступна.

    Π Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ ΠΈ Ρ†Π΅Π½Ρ‹ Π½Π° 7 января 2021 Π³.

    Чистая ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ

    БущСствуСт мноТСство бСсплатных ΠΎΠ½Π»Π°ΠΉΠ½-3D Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят Π²Π°ΠΌ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ€ΠΈΡΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ вашС пространство. Π’Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ зависит ΠΎΡ‚ вашСго уровня Π½Π°Π²Ρ‹ΠΊΠΎΠ², Ρ†Π΅Π»ΠΈ ΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ свои ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рисунки.

    Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠΈΠ³Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄ΠΎΠΌ Π² соотвСтствии с вашими ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ трСбованиями, этот список ΠΈΠ· 10 Π»ΡƒΡ‡ΡˆΠΈΡ… бСсплатных Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ½Π»Π°ΠΉΠ½-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ инструмСнтов ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

    Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

    Вопрос:

    КакоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π° Π»ΡƒΡ‡ΡˆΠ΅ всСго?

    А:

    Π­Ρ‚ΠΎ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Π·Π½Π°Π½ΠΈΠΉ ΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ² использования этих Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… инструмСнтов 3D. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ нСсколько ΠΈ посмотритС, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅ всСго соотвСтствуСт вашим потрСбностям.

    Вопрос:

    Как ΠΌΠ½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΊΠΎΠΌΠ½Π°Ρ‚Ρ‹?

    А:

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

    Вопрос:

    Π“Π΄Π΅ Π½Π°ΠΉΡ‚ΠΈ Π²Π΄ΠΎΡ…Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ для Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΡŒΠ΅Ρ€Π°?

    А:

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

    Π‘Ρ‚ΠΈΠ²Π΅Π½ УолтСрс внСс Π²ΠΊΠ»Π°Π΄ Π² созданиС этого сообщСния.

    Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ — (2020) Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния Π·Π° 10 шагов

    , ΠšΡ€ΠΈΡ Π§ΠΈΠ½Π³