Component based decomposition
Π‘ΠΏΠΎΡΠΎΠ± Π΄Π»Ρ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ. ΠΡΠ» ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΠΈΠ»ΠΎΠΌ Π€ΠΎΡΠ΄ΠΎΠΌ Π² ΠΊΠ½ΠΈΠ³Π΅ [[Software Architecture the Hard Parts]].
ΠΠ±ΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½Π° Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅:
ΠΠ»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ/statements Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°Π»ΡΡΠ΅ ΠΌΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π²ΡΠ±ΡΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠΉ. ΠΠ΄Π΅ΡΡ ΡΡΠΎΠΈΡ Π΄Π°Π»ΡΡΠ΅ Π·Π°ΠΊΠΎΠΏΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ ΠΈ Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ.
[!NOTE] ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ/statements - Ρ ΠΎΡΠΎΡΠΈΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅ΠΉ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
ΠΠ°Π»ΡΡΠ΅ ΠΌΡ ΠΈΡΠ΅ΠΌ ΠΎΠ±ΡΠΈΠ΅ ΠΊΡΡΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΠΈΡ Π²ΡΠ½ΠΎΡΠΈΡΡ Π½Π° ΡΡΠΎΠ²Π΅Π½Ρ Π²ΡΡΠ΅. ΠΠ°ΠΆΠ½ΠΎ, ΡΡΠΎ ΠΌΡ ΡΡΡΠΎΠΈΠΌ Π΄Π΅ΡΠ΅Π²ΠΎ ΡΡΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ·Π»Π°Ρ Π±ΡΠ» ΠΊΠΎΠ΄, Π° Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ°Ρ ΠΊΠΎΠ΄Π° Π±ΡΠ»ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠΊΡΡΠΏΠ½ΠΈΠ»ΠΈ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΡΠΎ ΠΏΠΎΠΈΡΠΊ ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄ΡΠΈ Π»Π΅Π³ΡΠ΅. ΠΠ°ΠΌ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΡΠ²ΡΠ·ΠΈ 1-1 ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ, ΡΠΊΠΎΡΠ΅Π΅ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ/Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ. ΠΡΠΎ ΠΎΡΠ²Π΅ΡΠΈΡ Π½Π°ΠΌ Π½Π° Π²ΠΎΠΏΡΠΎΡ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ ΡΠ²ΡΠ·ΡΡ .
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π΄Π°Π»ΡΡΠ΅ ΡΠΆΠ΅ ΠΏΠ΅ΡΠ΅ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅ΡΠ΅Π· domain driven design ΠΈ ΡΠ°Π·Π±ΠΈΡΠΈΠ΅ Π½Π° ΡΠ΅ΡΠ²ΠΈΡΡ.