Component based decomposition

·

Бпособ для Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π° Π½Π° основС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹. Π‘Ρ‹Π» ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Нилом Π€ΠΎΡ€Π΄ΠΎΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅ [[Software Architecture the Hard Parts]].

ΠžΠ±Ρ‰ΠΈΠ΅ шаги Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅: Pasted image 20240813141446.png

Для выявлСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с подсчётом ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ/statements вмСсто строк ΠΊΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ символов. Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ выбросы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Ρ‘Ρ… стандартных ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ. Π—Π΄Π΅ΡΡŒ стоит дальшС Π·Π°ΠΊΠΎΠΏΠ°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π² Ρ‚Π°ΠΊΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… ΠΈ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.

[!NOTE] ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ/statements - Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ логичСской Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… прСдставлСния ΠΊΠΎΠ΄Π°.

Π”Π°Π»ΡŒΡˆΠ΅ ΠΌΡ‹ ΠΈΡ‰Π΅ΠΌ ΠΎΠ±Ρ‰ΠΈΠ΅ куски ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΠΈΡ… Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅. Π’Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ строим Π΄Π΅Ρ€Π΅Π²ΠΎ этих ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΡƒΠ·Π»Π°Ρ… Π±Ρ‹Π» ΠΊΠΎΠ΄, Π° Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ°Ρ… ΠΊΠΎΠ΄Π° Π±Ρ‹Π»ΠΎ минимально ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»ΠΎ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΡƒΠΊΡ€ΡƒΠΏΠ½ΠΈΠ»ΠΈ наши ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, Ρ‚ΠΎ поиск связСй ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ΄Ρ‚ΠΈ Π»Π΅Π³Ρ‡Π΅. Нам Π½Π΅ трСбуСтся Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ всС связи 1-1 ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ, скорСС связи ΠΌΠ΅ΠΆΠ΄Ρƒ прилоТСниями ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ/Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ уровня. Π­Ρ‚ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ Π½Π°ΠΌ Π½Π° вопрос ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Ρ… связях.

БобствСнно, дальшС ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· domain driven design ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚ΠΈΠ΅ Π½Π° сСрвисы.