ΠΠ΄ΡΠ°ΡΡΠΈ ΠΠ°Π½ΠΊΠ°,
ΠΠ΅ΡΡΠΈ Π·Π° ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠ° ΠΈ Π²ΡΡΠ·ΠΊΠ°ΡΠ° (Π½Π° ΠΌΠ΅Π½ Π½Π΅ΡΠΎ Π½Π΅ ΠΌΠΈ ΡΠ΅ ΠΎΡΠ²Π°ΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ ΠΎΡ ΠΌΠΎΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ) :)Β
ΠΠ°, ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅ ΡΠ° Π½Π°ΠΏΡΠ°Π²Π΅Π½ΠΈ Ρ ΡΠ΅Π» Π΄Π° Π·Π°ΠΏΡΠ»Π½ΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠΈ Π² ΡΠ°ΠΌΠΈΡΠ΅ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΠΊΠΌΠΎ Π·Π°ΡΠΎΠ²Π° ΠΏΡΠ°ΡΠΈΡ
Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΊΡΠΌ Π»Π΅ΠΊΡΠΈΡΡΠ°. Π©Π΅ Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ Π΄Π° ΡΡΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈΠ΄Π΅ΠΈ.
Π‘ΠΏΠΎΡΠ΅Π΄ ΠΌΠ΅Π½ ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ» ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ΠΈΡΠ΅, Ρ.ΠΊ. Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠΎΡΠΎ ΡΠ΅ ΠΊΠ°ΡΠ°Ρ Π΄Π° ΠΌΠΈΡΠ»ΠΈΡ Π½Π° Π΅Π΄ΡΠΎ ΠΈ Π΄Π° Π²ΠΈΠΆΠ΄Π°Ρ Π½Π΅ΡΠ°ΡΠ° Π³Π»ΠΎΠ±Π°Π»Π½ΠΎ, Π½Π΅ ΡΠ°ΠΌΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Ρ.Π½. ΠΡΠ΄Π΅Π»Π½ΠΎ ΡΡΠ·Π΄Π°Π²Π°Ρ Π΅Π·ΠΈΠΊ Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ Π²ΡΡΠ½ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π²Π΅ΡΠ΅ ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π»ΠΈ, Π½ΠΎ Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠΎΠ²Π° ΠΈΠΌΠ° ΠΈΠ΄Π΅ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠΈ ΡΡΡΡΠ²Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΊΠ°Π·Π°Π½ΠΈ ΠΈ ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΡΠ°ΡΡ ΠΎΡ ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΅Π·ΠΈΡΠΈ.Β
ΠΡΠ½ΠΎΡΠ½ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ - ΡΠΎ Π½Π΅ Π΅ ΠΏΠ°Π½Π°ΡΠ΅Ρ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ (ΠΎΠ½Π·ΠΈ Π΄Π΅Π½ ΠΠΆΠ΅ΠΉΠΌΡ ΠΠΎΡΠ»ΠΈΠ½Π³ ΠΊΠ°Π·Π° ΡΡΡΠΎΡΠΎ Π½Π° Π»Π΅ΠΊΡΠΈΡΡΠ° Π·Π° WaveGlider). Π’ΠΎ Π΅ ΠΏΡΠΎΡΡΠΎ ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ°/ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ, ΠΊΠ°ΠΊΡΠΎ ΡΠ° ΠΠΠ-ΡΠΎ ΠΈΠ»ΠΈ ΠΏΡΠΊ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΊΠΎΡΡΠΎ ΡΠ»ΡΠΆΠΈ Π·Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠΎ ΠΈΠ·ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅ΠΈΡΠ΅. ΠΠ°ΠΆΠ΅ Π°ΠΊΠΎ ΡΠ΅ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π° Ρ Π½Π΅Π³ΠΎ (ΠΊΠ°ΠΊΡΠΎ ΡΡΠ°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΎ ΡΡΡ Π·Π°Π»ΠΈΡΠ°Π½ΠΈΡΡΠ° Π² Scala), ΠΌΠΎΠΆΠ΅Ρ Π΄Π° "Π½Π°ΡΠ²ΠΎΡΠΈΡ" Π΅Π΄Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π° Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅Π½ Π΅Π·ΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° ΠΈ ΠΠ-Ρ
Π°ΡΠ°ΠΊΡΠ΅Ρ... Π ΡΠΎΠ·ΠΈ ΡΠ΅Π΄ Π½Π° ΠΌΠΈΡΠ»ΠΈ, ΡΡΡΡΠ²Π° ΠΌΠΈ ΡΠ΅, ΡΠ΅ Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ°Π·ΡΠΌΠ½ΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Π² Java, ΡΠ΅ ΡΡΠΏΠ΅Π΅ΠΌ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π΄ΠΎΡΡΠ° Π΄ΠΎΠ±ΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Ρ.ΠΊ. ΠΏΡΠΈΠΌΠ΅ΡΠΈΡΠ΅ ΡΠ΅ ΡΠ° ΠΏΠΎ-Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΈ ΠΈ ΡΠ΅ΡΠΈΠΌΠΈ/ΡΠ°Π·Π±Π΅ΡΠ°Π΅ΠΌΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π΅Π½ΠΈ.
ΠΠΎΠ»ΠΊΠΎΡΠΎ Π΄ΠΎ Π²ΡΠΏΡΠΎΡΠ° ΡΠΈ, ΠΊΠ½ΠΈΠ³Π°ΡΠ° Π΅ Π½ΡΠΆΠ½Π°, Ρ.ΠΊ. Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ²Π°ΠΌΠ΅ Π½Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈΡΠ΅ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π² ΠΊΠ½ΠΈΠ³Π°ΡΠ° Π½Π° GoF, Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΡΠΎ ΠΈΠΌ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅, Ρ.Π΅. ΡΠΎΠ²Π°, Π΄ΠΎ ΠΊΠΎΠ΅ΡΠΎ ΡΠ° ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ»ΠΈ ΠΏΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½ΠΈΡΠ΅ (Π½ΡΠΊΠΎΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΈ ΡΠ° ΡΠ΅Π°Π»Π½ΠΎ Π°Π½ΡΠΈ-ΡΠ°Π±Π»ΠΎΠ½ΠΈ Π²Π΅ΡΠ΅ ;), Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ Ρ ΡΠ°Π·Π½ΠΈ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈ ΠΈΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π»Π΅Π³Π°Π½ΡΠ½ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ (Π½Π°ΠΏΡ. Builder + Fluent Interface)), ΡΠ°ΠΊΠ° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈΠΌΠ° ΡΠΌΠΈΡΡΠ» ΠΎΡ Π½Π΅Ρ ΠΈ ΠΌΠΈ ΡΠ΅ ΡΡΡΡΠ²Π°, ΡΠ΅ ΡΠΎΡΠ½ΠΎ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ Π½ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² Java, ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈ Π΄ΠΎΡΡΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ ΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π». :)
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π² ΡΠ°Π·Π³ΠΎΠ²ΠΎΡΠΈ, Ρ ΠΏΡΠΈΡΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅ΠΏΠΎΠ΄Π°Π²Π°Ρ Π² ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠΈ Π² Π‘ΠΎΡΠΈΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½Π°ΡΠ° ΠΈ Ρ Π΄ΡΡΠ³ΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌ ΡΠ΅ Π½Π°Π»Π°Π³Π° Π΄Π° ΡΠΈ Π½Π°Π±ΠΈΡΠ°Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ°Π²Π°Ρ Ρ
ΠΎΡΠ° Π²ΡΠ² ΡΠΈΡΠΌΠΈΡΠ΅, ΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ ΠΈΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ Π΄ΠΎΠ±ΡΠ° ΠΈ ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π° ΠΊΠ½ΠΈΠ³Π° Π½Π° Π±ΡΠ»Π³Π°ΡΡΠΊΠΈ Π² ΡΠ°Π·ΠΈ ΠΎΠ±Π»Π°ΡΡ, ΠΊΠΎΡΡΠΎ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ/ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈΡ.
ΠΠΎΠ·Π΄ΡΠ°Π²ΠΈ,
ΠΠΈΠΊΠΎΠ»Π°ΠΉ