Π’ΠΎΠ²Π° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ°Π·ΠΊΠ°Π· Π·Π° Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡ ΠΎΡ ΠΊΠ½ΠΈΠ³Π°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Ρ Π½ΡΠΊΠΎΠΈ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈ Π·Π½Π°Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π° Π±ΡΡ Π° ΡΡΠ²ΠΎΠ΅Π½ΠΈ.
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ, ΡΠ΅ΡΠ΅ΠΉΠΊΠΈ ΡΠ°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ, Π΄Π° Π΄Π°Π΄Π΅ΡΠ΅ ΡΡΠ΅Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π½Π° Π²ΡΠΏΡΠΎΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°? ΠΠ°ΠΊΠ²ΠΎ Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ΡΠΎ? ΠΠ°ΠΊΠ²Π° ΡΠΎΠ»Ρ ΠΈΠ³ΡΠ°Π΅ ΡΡ? ΠΠΌΠ° Π΄ΠΎΡΡΠ° Π½Π΅ΡΡΠ½ΠΎΡΠΈ ΠΎΠΊΠΎΠ»ΠΎ ΡΠΎΠ·ΠΈ ΡΠ΅ΡΠΌΠΈΠ½. Π ΡΡΠΊΠ°Ρ Π²ΡΠΈΡΠΊΠΎ Π΅ ΡΡΠ½ΠΎ, Π½ΠΎ ΠΏΠΎ-ΡΠΊΠΎΡΠΎ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎ ΠΈ Π±Π΅Π· ΡΠΎΡΠ½ΠΎΡΡ. ΠΠ°ΡΡΠΈΠ½ ΡΠΌΡΡΠ°, ΠΈ Π°Π· ΡΡΠΌ Ρ Π½Π΅Π³ΠΎ ΡΡΠ³Π»Π°ΡΠ΅Π½, ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈΠΌΠ° Π΄Π²Π΅ ΡΡΡΡΠ°Π²ΠΊΠΈ:
- ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (behavior) β ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π·Π°Π΄Π°ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΡΠ»ΡΠ³Π°) ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°.
- ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° β ΡΠΎΠ·ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ Π΅ Π² ΡΡΡΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠΎ Π΄ΠΎΡΠΈ ΠΈ Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠ±ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π·Π°Π΄Π°ΡΠ°ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΡΠ±Π²Π°, ΡΠΎΠ²Π° ΡΡΠ²ΡΠ΅ΠΌ Π½Π΅ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΈΠΌΠ° Π΄ΠΎΠ±ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π΅ Π΅ Π·Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅ Π·Π° Π»Π΅ΡΠ½Π°ΡΠ° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅ Π·Π° Π»Π΅ΡΠ½ΠΎΡΠΎ ΡΠ°Π·Π³ΡΡΡΠ°Π½Π΅, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅ Π·Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ°. ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅ Π·Π° ΡΠΊΠΎΡΠΎΡΡΡΠ°, Ρ ΠΊΠΎΡΡΠΎ Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ²Π΅ΠΊ Π² Π΅ΠΊΠΈΠΏΠ° ΡΡΠ²ΠΎΡΠ²Π° Π·Π½Π°Π½ΠΈΡΡΠ°.
Π Π΅ΡΠΎ ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΡΡΡΠΎΠΈ ΡΠ°Π·ΠΈ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°, ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΠΈΠ·Π±Π΅Π³Π½Π΅ Π³Π»Π°Π²ΠΎΠ±ΠΎΠ»ΠΈΠ΅ΡΠΎ ΠΏΡΠΈ ΠΌΠ°Π»ΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΎΡ PM-a ΠΈΠ»ΠΈ ΠΎΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈ: Π·Π° ΡΠΎΠ²Π° ΡΠ΅ ΡΠ°Π·ΠΊΠ°ΠΆΠ΅ ΠΊΠ½ΠΈΠ³Π°ΡΠ°.
ΠΠ° Π°Π²ΡΠΎΡΠΈΡΠ΅
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ° Π½Π΅ΡΠΎ Π·Π° ΡΠ°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π°, ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΡΠ΅Π±Π΅ ΡΠΈ.
Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΡΠΌ Strong Junior Developer, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΡΡΠ΅Π· ASP .NET CORE.
Π Π°Π±ΠΎΡΡ Π² Π΅Π΄Π½Π° "Π³Π°Π»Π΅ΡΠΊΠ°" ΠΎΡ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, ΡΠ΅ ΡΡΠ²ΡΠ΅ΠΌ ΠΌΠ°Π»ΠΊΠΎ ΡΡΠΏΡΠ²Π°ΠΌ.
ΠΠ½ΠΈΠ³Π°ΡΠ° Π²Π΅ΡΠ΅ Ρ ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π΄Π²Π° ΠΏΡΡΠΈ ΠΈ Ρ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π½Π° Π²ΡΠΈΡΠΊΠΈ:
- ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ;
- ΡΡΠΎΠ½ΡΠ΅Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ;
- Π±Π΅ΠΊΠ΅Π½Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ;
- ΠΈ Π΄ΠΎΡΠΈ Π΄Π΅Π²ΠΎΠΏΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ.
ΠΡΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ»ΠΈ ΠΏΠΎ Π½ΡΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΡΡΡΠ΅Ρ, ΡΠ΅ ΠΈΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π±Π΅Π· Π΄Π° ΡΠ΅ Π±ΡΠΎΡΡ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈΡΠ΅ ΠΈ PM-ΠΈΡΠ΅ (Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΡΡΠΎ Π±ΠΈ Π±ΠΈΠ»ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° Π·Π½Π°ΡΡ Π·Π°ΡΠΎ Π΄Π΅Π²ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ΡΡΠΎ ΠΏΡΠ΅ΠΊΠ°ΡΠ²Π°Ρ Π΄Π²Π° ΠΏΡΡΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ Π·Π° Π·Π°Π΄Π°ΡΠ°), ΡΡΠ²Π΅ΡΠ²Π°ΠΌ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΡΠ°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π°.
Π ΡΠ΅Π³Π° ΡΠ΅ ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌ Π΄Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈΡΠ°ΠΌ Π·Π°ΡΠΎ ΠΌΠΈΡΠ»Ρ ΡΠ°ΠΊΠ°.
ΠΡΠΊΠΎΠ»ΠΊΠΎ Π΄ΡΠΌΠΈ Π·Π° Π°Π²ΡΠΎΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π° (ΡΡΠΉ ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΡΠΈΡΠ΅ΡΡΡ Π½Π° ΠΏΠΈΡΠ΅ΡΠΈΡ ΠΈΠ³ΡΠ°Π΅ Π³ΠΎΠ»ΡΠΌΠ° ΡΠΎΠ»Ρ Π·Π° ΠΌΠ΅Π½). ΠΠΈΡΠ»Ρ, ΡΠ΅ ΡΠ΅ ΠΌΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅, ΠΌΠ°ΠΊΠ°Ρ ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π½ΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΠΎΠ²Π΅ΠΊ Ρ Π°Π²ΡΠΎΡΠΈΡΠ΅Ρ Π² ΡΡΠ΅ΡΠ°ΡΠ° Π²ΠΈ ΠΊΠ°Π·Π²Π° Π½Π΅ΡΠΎ, Π²ΠΈΠ΅ ΠΏΡΠΎΡΠ²ΡΠ²Π°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ ΠΊΡΠΌ ΠΊΠ°Π·Π°Π½ΠΎΡΠΎ ΠΎΡ Π½Π΅Π³ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΈΡΠ»Ρ, ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ²ΡΡΠ²Π°ΡΠ΅ ΠΏΠΎΠ²Π΅ΡΠ΅ Π½Π° Π΄ΠΈΠ°Π³Π½ΠΎΠ·Π°ΡΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΡΡΠ°Π²Ρ Π»Π΅ΠΊΠ°Ρ, ΠΎΡΠΊΠΎΠ»ΠΊΠΎΡΠΎ Π½Π° Π½ΡΠΊΠΎΠΉ ΠΎΡ ΡΡΠ»ΠΏΠ°ΡΠ° (ΠΊΠΎΠΉΡΠΎ Π΅ ΠΏΠΎΡΡΡΡΠΈΠ» ΡΠΈΠΌΠΏΡΠΎΠΌΠΈΡΠ΅ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ).
Π ΠΎΠ±ΡΡΡ ΠΠ°ΡΡΠΈΠ½ β ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΠΈ ΠΊΠ°ΡΠΎ ΠΠ½ΠΊΡΠ» ΠΠΎΠ± (Π΄ΡΠ΄ΠΎ ΠΠΎΠ±) β ΡΠ°Π±ΠΎΡΠΈ Π² ΡΡΠ΅ΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ΡΠΎ, ΠΎΠ±Ρ Π²Π°ΡΠ°Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ (ΠΎΡ ΡΠ΅Π± ΡΡΠ»ΡΠ³ΠΈ Π΄ΠΎ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ) ΠΎΡ 1970 Π³ΠΎΠ΄ΠΈΠ½Π°. Π’ΠΎΠΉ Π΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΠ»ΡΠ°Π½Ρ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡ, ΠΏΠΈΡΠ΅ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΏΠΈΡΠ°Π½ΠΈΡ, ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΠΈΡΠ΅Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡ ΠΈ ΡΠΎΠ²Π΅ΠΊ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΈΠ³ΡΠ°Π» Π΅Π΄Π½Π° ΠΎΡ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠ»ΠΈ Π² ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ SOLID (ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π΅ ΡΡΠ·Π΄Π°ΡΠ΅Π»). Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, ΠΈΡΠΊΠ°ΠΌ Π΄Π° Π΄ΠΎΠ±Π°Π²Ρ, ΡΠ΅ ΠΌΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ° ΡΠ°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΡΡ ΡΠΈΠΌΠ»ΠΈΠ΄ Ρ 15+ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΎΠΏΠΈΡ.
ΠΠ° ΠΊΠ½ΠΈΠ³Π°ΡΠ°
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ° ΠΊΠ½ΠΈΠ³Π°ΡΠ°, ΠΏΡΠΎΡΠ΅ΡΠΎΡ Π΄ΠΎΡΡΠ° ΡΡΠ°ΡΠΈΠΈ Π² ΡΡΡΠΈΡ Π₯Π°Π±ΡΡ, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½ΡΡ 'Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ'. ΠΠ°ΠΊΠ²ΠΎ Π΅ ΡΠΎΠ²Π°, ΠΊΠΎΠΉ ΠΎΡ ΠΊΠΎΠ³ΠΎ Π·Π°Π²ΠΈΡΠΈ, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π° 'Π·Π°Π²ΠΈΡΠΈ', ΠΈ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ ΠΊΠ»Π°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π²ΠΈΡΠΈ ΠΎΡ Π΄ΡΡΠ³?
Π ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΠΎΡΡΠ·Π½Π°Ρ Π΄Π²Π° ΠΌΠΎΠΌΠ΅Π½ΡΠ°:
ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠ° β ΡΠΎΠ²Π° Π΅ ΡΠ΅ΡΠΌΠΈΠ½, ΠΊΠΎΠΉΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΊΠ»Π°Ρ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΡΠ»ΡΠ³Π°) Π·Π½Π°Π΅ Π·Π° Π΄ΡΡΠ³ ΠΊΠ»Π°Ρ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΡΡΠ»ΡΠ³Π°), ΠΈ ΡΠΎΠ²Π° ΠΏΠΎΠ·Π½Π°Π½ΠΈΠ΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠΎΠ΄ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Ρ (ΡΠ΅Π³Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈΡΠ΅ Π½Π° Java, C# ΠΈ C ΡΠ΅ ΠΌΠ΅ ΡΠ°Π·Π±Π΅ΡΠ°Ρ) Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΈΠΌΠΏΠΎΡΡ Π½Π° ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π°. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ: Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΊΠ»Π°Ρ Π Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΎΡ ΠΈΠΌΠ΅Π½Π° Default.Classes ΠΈ ΠΊΠ»Π°Ρ B Ρ Another.Classes. Π’Π°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ Π² ΠΈΠ·Ρ
ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΊΠ»Π°Ρ Π ΡΠΈΠ³ΡΡΠΈΡΠ° using Another.Classes; β ΡΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΊΠ»Π°Ρ Π Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΠΊΠ»Π°Ρ B.
ΠΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΠΏΠΎ ΡΡ
Π΅ΠΌΠ°ΡΠ° ΠΊΡΠ΄Π΅ Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΈΡΡ ΠΊΠ»Π°Ρ, Π° ΠΊΡΠ΄Π΅ Π½Π΅ β Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΎΠΊΠ°ΡΠ° Π½Π° ΡΡΡΠ΅Π»ΠΊΠ°ΡΠ°: Π² 1) ΡΡΡΠ΅Π»ΠΊΠ°ΡΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΎΡ ΠΊΠ»Π°Ρ Π Π² ΠΏΠΎΡΠΎΠΊΠ° Π½Π° ΠΊΠ»Π°Ρ B. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΊΠ»Π°Ρ B Π΅ ΠΏΠΎ-Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΠΊΠ»Π°Ρ Π. Π ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² ΠΊΠ»Π°Ρ Π Π½ΡΠΌΠ° Π΄Π° Π½Π°Π½Π΅ΡΠ°Ρ Π½ΠΈΠΊΠ°ΠΊΠ²Π° 'Π²ΡΠ΅Π΄Π°' Π½Π° ΠΊΠ»Π°Ρ B.

SOLID
ΠΠ΄Π½Π° ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ, ΠΊΠΎΡΡΠΎ ΠΌΠ΅ ΠΏΠΎΠ΄ΡΠΈΠΊΠ½Π° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ° ΡΠ°Π·ΠΈ ΠΊΠ½ΠΈΠ³Π°, Π±Π΅ΡΠ΅ ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΡΠ΅ SΠLID ΠΎΡ ΠΏΡΡΠ²ΠΎΠΈΠ·ΡΠΎΡΠ½ΠΈΠΊΠ°, Π·Π°ΡΠΎΡΠΎ Π΄ΡΠ΄ΠΎ Π ΠΎΠ±Π°Ρ Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π» ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠ°ΠΆΠ΅, ΡΠ΅ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π½Π΅Π³ΠΎ Π½ΠΈΠ΅ ΡΡΠ²Π°ΠΌΠ΅ ΡΠΎΠ²Π° Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ β SOLID.
ΠΠ° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ Π·Π½Π°ΡΡ - ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΡΡΠ²Π΅ΡΠ²Π°Ρ Π΄Π° ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° ΡΠΈ Π² ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ 5 ΠΏΡΠ°Π²ΠΈΠ»Π°:
S - SRP (ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ)
O - OCP (ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΡΡ ΠΈ Π·Π°ΡΠ²ΠΎΡΠ΅Π½ΠΎΡΡ)
L - LSP (ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° Π·Π°ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΠΈΡΠΊΠΎΠ²)
I - ISP (ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈΡΠ΅)
D - DIP (ΠΡΠΈΠ½ΡΠΈΠΏ Π½Π° ΠΈΠ½Π²Π΅ΡΡΠΈΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅)
ΠΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΠΊΠ»Π°ΡΠΎΠ²Π΅ ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ, Π½Π° Π½ΠΈΠ²ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΠΈ Π½Π° Π½ΠΈΠ²ΠΎ ΡΠ»ΠΎΠ΅Π²Π΅ (ΡΠ΅ΡΠ²ΠΈΠ·ΠΈ).
ΠΠΊΠΎ ΡΠΌΡΡΠ°ΡΠ΅, ΡΠ΅ ΠΡΠΈΠ½ΡΠΈΠΏΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΡΠ°ΠΌΠΎ Ρ ΡΠΎΠ²Π°, ΡΠ΅ ΠΊΠ»Π°Ρ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ» ΡΡΡΠ±Π²Π° Π΄Π° Π²ΡΡΡΠΈ ΡΠ°ΠΌΠΎ Π΅Π΄Π½Π° ΡΠ°Π±ΠΎΡΠ°, ΡΠΎ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅ ΠΏΠΎΠ½Π΅ Π³Π»Π°Π²Π°ΡΠ° Π·Π° SOLID. ΠΠ°ΡΠΎΡΠΎ ΡΠΎΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ΅ΡΠΎ Π΅ Π΄Π°Π΄Π΅Π½ΠΎ ΠΏΠΎ-Π³ΠΎΡΠ΅, Π΅ ΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅, Π½ΠΎ Π½Π΅ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ.
ΠΠ° ΠΈΠ½Π²Π΅ΡΡΠΈΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅
ΠΡΠΎΠ±Π΅Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΠΎΠ±ΡΡΠ½Π° Π½Π° ΠΎΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΡΠΈΠ½ΡΠΈΠΏΠ° Π½Π° ΠΈΠ½Π²Π΅ΡΡΠΈΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ (ΠΊΠΎΠΉΡΠΎ Π΅ D ΠΎΡ SOLID). ΠΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ΅ΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΡΠ°Π·Π±ΡΠ°Ρ , ΡΠ΅ ΡΠΎΠ²Π° Π½Π΅ Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π° ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΡΠΎΠΊΠ°ΡΠ° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΈ ΠΈ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ° (DOMAIN) Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠ° ΠΎΡ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠ»ΠΎΡ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ (DAL).

ΠΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΡΠ°ΠΌΠΈΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π½Π°ΡΠ΅Π΄ Ρ ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π² SOLID, ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ°, ΡΠ°ΠΌΠΈΡΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΡΠΌ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠ΅Π· ΡΡΠ»Π°ΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΈ Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΈΠ½Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΏΠΎΡΠΎΠΊΠ°ΡΠ° Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΉΡΠΎ, ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ DDD.
ΠΠ° Π²Π·Π΅ΠΌΠ°Π½Π΅ΡΠΎ Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎ Π² ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠΏΠΎΠΌΠ΅Π½Π°Π²Π°Π½ ΠΏΡΠΈΠ½ΡΠΈΠΏΡΡ Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° Π²Π°ΠΆΠ½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ: Π·Π° ΡΠΎΠ²Π°, ΠΊΠΎΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, ΠΊΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ, ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΡΠΎ ΡΡΡΡΠ°ΡΠΊΠ° ΠΈ Ρ.Π½.
Π’Π°ΠΊΠ° ΡΠ΅, Π°Π²ΡΠΎΡΡΡ ΡΠΌΡΡΠ°: ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΠΠ ΠΠΠΠ ΠΠΠΠΠ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅Π·ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ°ΡΠΎΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡΠ° ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° ΡΡΡΠΎ, Π° ΡΠ°ΠΌΠ°ΡΠ° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΡΠ΅ΡΠΊΠ° ΡΡΡΡΠ°Π²ΠΊΠ° ΠΈΠΌΠ° ΡΠ΅Π½Π΄Π΅Π½ΡΠΈΡ Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Ρ. Π ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅, Π½ΡΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΊΠ°ΠΆΠ΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΎ, ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΎ. Π ΡΠΈΠ»Π°ΡΠ° Π½Π° Π²Π°ΡΠ°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π±ΡΡΠ·ΠΎ ΠΈ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π΄Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Ρ Π΄ΡΡΠ³Π° (Π·Π° ΡΠΎΠ²Π°, ΠΌΠ΅ΠΆΠ΄Ρ Π΄ΡΡΠ³ΠΎΡΠΎ, Π³ΠΎΠ²ΠΎΡΠΈ OCP).
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ ΡΠ΅ΡΠΈΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π²ΠΌΠ΅ΡΡΠΎ Postgresql MongoDb, ΠΈΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΈΠ»ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ mock-Π½Π°ΡΠΈ Π΄Π°Π½Π½ΠΈ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°. Π ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ - ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΊΠ°ΡΠ° Π΄Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΡΡΠΈ ΡΡΠ»Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ°.
ΠΠ° Π΄Π° Π½Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ²Π°Ρ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π½ΡΠΊΠΎΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΡΠ΅ ΠΎΡΠ΄Π°Π»Π΅ΡΠ°Π²Π°Ρ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π²Π·Π΅ΠΌΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΠ΄ΠΈΠ½ ΠΎΡ ΡΠ΅Π·ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡΡΠ°.
Π‘ΡΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ DDD
DDD β ΠΠΎΠΌΠ΅ΠΉΠ½ ΠΡΠ°ΠΉΠ²ΡΠ½ ΠΠΈΠ·Π°ΠΉΠ½ β ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΡΡΡ ΡΠ»ΠΎΠΆΠ½Π° Π±ΠΈΠ·Π½Π΅Ρ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΊΡΠΈΡΠΈΡΠ½Π° ΠΊΡΠΌ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄Π½ΠΈΡΠ΅ Π΄Π»ΡΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° (PMs, ΡΡΡΠ³ΠΎΠ²ΡΠΊΠΈ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡΠΈ ΠΈ Π΄Ρ.) ΠΎΡ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΡΠΈ. Π’ΠΎΠ΅ΡΡ, Π·Π° Π΄Π° ΠΈΠΌΠ° ΠΎΠ±Ρ Π΅Π·ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ»Π΅Π½ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈ Π²ΡΠ΅ΠΊΠΈ Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ Π΄ΡΡΠ³ΠΈΡ, ΠΈ Π·Π° Π΄Π° ΠΌΠΈΡΠ»ΡΡ Π²ΡΠΈΡΠΊΠΈ Π² Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΡΡ ΡΡΡΠΈΡΠ΅ Π±ΠΈΠ·Π½Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΠΊΠΎ ΡΡΠ΅ ΠΏΡΠΈΠ²ΡΡΠΆΠ΅Π½ΠΈΠΊ Π½Π° DDD, ΠΈΠ»ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΡΠ°Π½Π΅ΡΠ΅ ΡΠ°ΠΊΡΠ², ΠΈΠ»ΠΈ Π½Π΅ΡΠΎ Π½Π΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΠ΅, Π½ΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ β ΠΊΠ½ΠΈΠ³Π°ΡΠ° Π΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½Π° Π·Π° ΠΏΡΠΎΡΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½ΠΎ Π²ΡΠΎΡΠ°ΡΠ° ΡΠ°ΡΡ Π½Π° ΠΊΠ½ΠΈΠ³Π°ΡΠ°.
Π’ΡΠΊ Π°Π²ΡΠΎΡΡΡ ΠΎΠ±ΡΡΠ½ΡΠ²Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ½Π°ΡΠ° ΡΠΎΡΠΌΡΠ»Π° ΠΈ Π·Π°ΡΠΎ, ΡΠ»Π΅Π΄Π²Π°ΠΉΠΊΠΈ Ρ, ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠ°ΡΠΎ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ»Π΅Π΄Π²Π°Ρ Π² ΠΏΠΎΡΠΎΠΊΠ° ΠΊΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, Π·Π°ΡΠΎ Π΄ΠΎΠΌΠ΅Π½ (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°) ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ»Π΅ΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°.

ΠΠ±ΡΡΡΠ°Ρ ΠΈΡΠ°Π½Π΅
ΠΡΠ΄ΠΎ Π ΠΎΠ± ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·ΠΊΠ°Π·Π²Π° Π·Π° ΡΠΎΠ²Π° ΠΊΠ°ΠΊ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π½Π°Π²ΡΠ΅Π΄ΡΡ Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π΄Π° Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π΄Π° Π΅Π²ΠΎΠ»ΡΠΈΡΠ° Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½ΠΎ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠ΅.
ΠΠ°ΠΏΠΎΠΌΠ½Π΅ΡΠ΅!
ΠΠ β ΡΠΎΠ²Π° Π΅ Π΄Π΅ΡΠ°ΠΉΠ» Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅ (Web, Mobile ΠΈ Π΄Ρ.) β Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
Π€ΡΠ΅ΠΉΠΌΡΡΡΡΠΈΡΠ΅ β ΡΠΎΠ²Π° Π΅ Π΄Π΅ΡΠ°ΠΉΠ» Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ.
ΠΡ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π°Π±ΡΡΡΠ°Ρ ΠΈΡΠ°ΠΌΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΈ Π΄Π° Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π³ΠΎΡΠ΅ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈ Π½Π° ΠΈΠ½Π²Π΅ΡΡΠΈΡ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ½Π°ΡΠ° ΡΠΎΡΠΌΡΠ»Π° ΠΈ Π΄ΡΡΠ³ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ.
ΠΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ
Π’ΠΎΠ·ΠΈ ΡΠ°Π·Π΄Π΅Π» ΠΌΠΈ Ρ Π°ΡΠ΅ΡΠ° ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ, ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π² ASP .NET CORE. Π’ΡΠΊ ΡΠ΅ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½Π½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΎΡ Π³ΠΎΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ.
Π ΠΎΠ±ΡΡΡ ΠΎΠΏΠΈΡΠ²Π° 4 Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΡΡ Π΅ΠΌΠΈ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ»ΠΎΠ΅Π²Π΅.
Π’ΠΎΠΉ ΠΏΠΎΡΡΠ½ΡΠ²Π° Π·Π°ΡΠΎ ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π½Π° ΡΡΠΈΡΠ»ΠΎΠΉΠ½Π°ΡΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°: UI (ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ), Π£ΡΠ»ΡΠ³ΠΈ (ΠΠΎΠΌΠ΅ΠΉΠ½), DAL (ΠΠ°Π·Π° Π΄Π°Π½Π½ΠΈ) β Π΅ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»Π½ΠΎ Π»ΠΎΡ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈΡΠ΅. ΠΠΈΠ΄ΡΡ Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π½ΠΎ Π²ΡΠ² Π²ΡΠ΅ΠΊΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π°, Π½Π° Π±Π΅ΠΊ-Π΅Π½Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡΠΈΡΠ»ΠΎΠΉΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π΄ΠΎΡΡΠ° ΡΠ΅ΡΡΠΎ, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π΅Π΄ΠΈΠ½-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ-Π΅Π΄ΠΈΠ½-ΡΠ΅ΡΠ²ΠΈΡ. Π ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΠΈ Π΄Π²Π΅ΡΠ΅ ΡΠ° ΠΏΡΠΈΠ»ΠΈΡΠ½ΠΈ, Π½ΠΎ ΡΠ° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΡΡΠΈ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° DDD, ΠΎΡΠΎΠ±Π΅Π½ΠΎ ΠΏΡΠΈ ΠΊΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ.
Π ΠΎΠ±ΡΠΈ Π»ΠΈΠ½ΠΈΠΈ, ΡΠΎΠ·ΠΈ ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΠΏΡΠΈΠΊΠ»ΡΡΠΈ. Π‘Π°ΠΌΠ°ΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΌΠΈ Ρ
Π°ΡΠ΅ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ, Π½Π΅ ΡΡΠΆΠ°Π»ΡΠ²Π°ΠΌ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΎΡΠΎ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Π°Π²ΡΠΎΡΠ°. ΠΠ° Π²Π°Ρ, ΡΠΊΡΠΏΠΈ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ, Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΡΠΎ, Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΡΡΡΠΎΠ³ΠΈ β ΡΠ°Π·ΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ Π΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° Π½Π° Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΡΡΠ° ΠΎΡ ΠΊΠ½ΠΈΠ³Π°ΡΠ° ΠΈ ΠΌΠΎΠ΅ΡΠΎ Π»ΠΈΡΠ½ΠΎ Π΅Π½ΡΡΡΠΈΠ°Π·ΡΠΌ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
