Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ coupling ΠΈ cohesion? Π§ΡΠΎ ΠΈΠ· Π½ΠΈΡ
(ΠΈΠ»ΠΈ ΠΎΠ±Π°) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΈΠ»ΡΠ½ΡΠΌ (Π²ΡΡΠΎΠΊΠΈΠΌ) ΠΈ/ΠΈΠ»ΠΈ ΡΠ»Π°Π±ΡΠΌ (Π½ΠΈΠ·ΠΊΠΈΠΌ)?
Coupling (ΠΠ°ΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅) β ΡΡΠ΅ΠΏΠ΅Π½Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½ΠΈΠ·ΠΊΠΎΠΉ.
Cohesion (Π‘Π²ΡΠ·Π½ΠΎΡΡΡ) β ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ.
Coupling (ΠΠ°ΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅) β ΡΡΠ΅ΠΏΠ΅Π½Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½ΠΈΠ·ΠΊΠΎΠΉ.
Cohesion (Π‘Π²ΡΠ·Π½ΠΎΡΡΡ) β ΡΡΠ΅ΠΏΠ΅Π½Ρ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠ»Π°ΡΡΠ°. ΠΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π²ΡΡΠΎΠΊΠΎΠΉ.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡΠΈΡΠ°ΡΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ.
π25β€βπ₯3π2β‘1
Π§ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄?
Anonymous Quiz
24%
NullPointerException
12%
ClassCastException
16%
Integer
47%
ΠΠΎΠ΄ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ
π19π5
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΡΠ± ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ?
ΠΡΠ± ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (scale cube, ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ The Art of Scalability) ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΡ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: sharding, mirrorring ΠΈ microservices.
β’ Sharding (data partioning) β ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ·Π»Π°ΠΌ.
β’ Mirroring (horizontal duplication) β Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°.
β’ Microservices β Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΠ°ΠΌ.
ΠΡΠ± ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (scale cube, ΠΈΠ· ΠΊΠ½ΠΈΠ³ΠΈ The Art of Scalability) ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΡ ΠΎΡΡΠΎΠ³ΠΎΠ½Π°Π»ΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: sharding, mirrorring ΠΈ microservices.
β’ Sharding (data partioning) β ΡΠ°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΡΠ·Π»Π°ΠΌ.
β’ Mirroring (horizontal duplication) β Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΎΡΠΊΠ»ΠΈΠΊΠ°.
β’ Microservices β Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ ΠΏΠΎ Π±ΠΈΠ·Π½Π΅Ρ-Π·Π°Π΄Π°ΡΠ°ΠΌ.
π18π₯3
Π ΠΊΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°ΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ TreeSetΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ HashSet?
Anonymous Quiz
10%
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
9%
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΡΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Set
12%
ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°ΡΡΠΎ Π²ΡΡΠ°Π²Π»ΡΡΡ Π² Set Π½ΠΎΠ²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΈΡ
69%
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΊΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
π₯22π9
Π§Π΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ?
Π‘Π΅ΡΠ²ΠΈΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° (SOA) β Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ , ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΡΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ±Π»Π°ΡΡΡ ΠΎΡ Π²Π°ΡΠ° SOA β ΡΡΠΎ Π²ΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. SOA Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ°Π²ΠΊΡ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
Π‘Π΅ΡΠ²ΠΈΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅:
β’ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ (ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠ±Π»Π°ΡΡΡΡ, ΡΠ΅Π»ΡΡ, ΡΠΌΡΡΠ»ΠΎΠΌ ΠΈ Ρ.ΠΏ.);
β’ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π½ΠΈΡ ;
β’ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΡΡΡΠ½ΡΠΌ ΡΡΠΈΠΊΠΎΠΌ" Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΡΡΠ·Π½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΡΠ΅ΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° (MSA) β ΡΠ°ΡΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ SOA, ΠΏΠΎΠ±ΡΠΆΠ΄Π°ΡΡΠΈΠΉ ΡΡΡΠΎΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ , ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ , Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²). MSA ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π°, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ:
β’ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ (Unix way β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ);
β’ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²;
β’ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°);
β’ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΡΡΡΠ½ΡΠΌ ΡΡΠΈΠΊΠΎΠΌ" Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², Π³Π΄Π΅ MSA ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ Ρ ΠΎΡΠΎΡΠ΅Π΅, Π° SOA β ΡΡΠ°ΡΠΎΠ΅ ΠΈ ΡΠΌΠΈΡΠ°ΡΡΠ΅Π΅. Π§Π°ΡΡΠΎ ΡΡΠΎ Π΅ΡΡ ΠΈ ΠΏΠΎΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ΄ ΡΠΎΡΡΠΎΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠΠ₯Π β ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²Π°Ρ ΡΡΡΡΠ°, ΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅. MSA ΠΈ SOA Π½Π΅ Π·Π°Π²ΡΠ·Π°Π½Ρ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π² ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠΉ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°.
Π‘Π΅ΡΠ²ΠΈΡ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° (SOA) β Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΉ ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ , ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Ρ ΡΡΡΠΊΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ±Π»Π°ΡΡΡ ΠΎΡ Π²Π°ΡΠ° SOA β ΡΡΠΎ Π²ΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅, Π³Π΄Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. SOA Π΄Π΅Π»Π°Π΅Ρ ΡΡΠ°Π²ΠΊΡ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ Π±ΠΈΠ·Π½Π΅Ρ-ΡΡΠ½ΠΊΡΠΈΡΠΌ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ.
Π‘Π΅ΡΠ²ΠΈΡ Π² Π΄Π°Π½Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅:
β’ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π±ΠΈΠ·Π½Π΅Ρ-Π»ΠΎΠ³ΠΈΠΊΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ (ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΉ Π±ΠΈΠ·Π½Π΅Ρ-ΠΎΠ±Π»Π°ΡΡΡΡ, ΡΠ΅Π»ΡΡ, ΡΠΌΡΡΠ»ΠΎΠΌ ΠΈ Ρ.ΠΏ.);
β’ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ Π½ΠΈΡ ;
β’ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΡΡΡΠ½ΡΠΌ ΡΡΠΈΠΊΠΎΠΌ" Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΡΠ΅ΡΡΡΠ·Π½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ ΠΊ ΡΠ΅ΠΌΡ-Π»ΠΈΠ±ΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΉ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° (MSA) β ΡΠ°ΡΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ SOA, ΠΏΠΎΠ±ΡΠΆΠ΄Π°ΡΡΠΈΠΉ ΡΡΡΠΎΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ , ΡΠ»Π°Π±ΠΎΡΠ²ΡΠ·Π°Π½Π½ΡΡ , Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²). MSA ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π°, Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π½Π° ΡΡΡΡΠΊΡΡΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ:
β’ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠ½ΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ (Unix way β Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΡ);
β’ Π΄Π΅ΠΏΠ»ΠΎΠΈΡΡΡ ΠΈ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²;
β’ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°);
β’ ΡΠ²Π»ΡΠ΅ΡΡΡ "ΡΡΡΠ½ΡΠΌ ΡΡΠΈΠΊΠΎΠΌ" Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ².
ΠΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², Π³Π΄Π΅ MSA ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π½Π΅ΡΡΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ Ρ ΠΎΡΠΎΡΠ΅Π΅, Π° SOA β ΡΡΠ°ΡΠΎΠ΅ ΠΈ ΡΠΌΠΈΡΠ°ΡΡΠ΅Π΅. Π§Π°ΡΡΠΎ ΡΡΠΎ Π΅ΡΡ ΠΈ ΠΏΠΎΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ΄ ΡΠΎΡΡΠΎΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ. ΠΠΠ₯Π β ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΠΌΠ°ΡΠΊΠ΅ΡΠΈΠ½Π³ΠΎΠ²Π°Ρ ΡΡΡΡΠ°, ΡΠ΅ΠΌ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅. MSA ΠΈ SOA Π½Π΅ Π·Π°Π²ΡΠ·Π°Π½Ρ Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π² ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΎΠ±Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΠ°ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠΉ Π΄Π»Ρ Π±ΠΈΠ·Π½Π΅ΡΠ°.
π19π₯10β€1β1
ΠΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π±ΡΠΎΡΠ΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ main?
Anonymous Quiz
38%
IndexOutOfBoundsException
29%
ΠΠΎΠ΄ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ
21%
NullPointerException
12%
ClassCastException
π16π6π2
ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²? ΠΠ°Π·ΠΎΠ²ΠΈΡΠ΅ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π° ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
β’ ΠΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ) -> ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Π²ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° Π½ΠΎΠ²ΡΠ΅)
β’ ΠΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° -> ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΌΡΡΠΆΠ΅ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅
β’ ΠΡΠΎΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ
β’ ΠΡΡΡΡΠ΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ ΠΊΠ°ΠΊ Π²Π½Π΅Π΄ΡΡΡΡ, ΡΠ°ΠΊ ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡ
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β’ Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ) β ΠΎΠ±ΠΌΠ΅Π½ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ ΡΠΎ Π²ΡΠ΅ΠΌ Π²ΡΡΠ΅ΠΊΠ°ΡΡΠΈΠΌ (ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ/Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Ρ.Π΄.)
β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ
β’ Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠΌΠΎΠ² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
β’ ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
β’ Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π΄Π΅Π±Π°ΠΆΠΈΡΡ ΠΈ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
β’ ΠΡΠΆΠ½ΠΎ Π±ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΌ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΎΡΠ²Π°Π»ΠΈΡΡΡ
β’ ΠΠ±ΡΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΡΡ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
β’ ΠΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡ) -> ΠΏΡΠΎΡΠ΅ ΠΈ Π±ΡΡΡΡΠ΅Π΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ, Π²ΡΠ±ΡΠΎΡΠΈΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π½Π° Π½ΠΎΠ²ΡΠ΅)
β’ ΠΠ΅Π½ΡΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° -> ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΠΌΡΡΠΆΠ΅ ΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅
β’ ΠΡΠΎΡΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ
β’ ΠΡΡΡΡΠ΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ ΠΊΠ°ΠΊ Π²Π½Π΅Π΄ΡΡΡΡ, ΡΠ°ΠΊ ΠΈ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡ
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
β’ Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΡ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ² Π½Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ (ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ) β ΠΎΠ±ΠΌΠ΅Π½ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΠΈΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠ΅ΡΠΈ ΡΠΎ Π²ΡΠ΅ΠΌ Π²ΡΡΠ΅ΠΊΠ°ΡΡΠΈΠΌ (ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ/Π΄Π΅ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ, Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ Ρ.Π΄.)
β’ ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ
β’ Π£Π²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΡΠΌΠΎΠ² Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π°
β’ ΠΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°
β’ Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π΄Π΅Π±Π°ΠΆΠΈΡΡ ΠΈ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
β’ ΠΡΠΆΠ½ΠΎ Π±ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΌ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΌ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΊΠΎΠ³Π΄Π° Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΎΡΠ²Π°Π»ΠΈΡΡΡ
β’ ΠΠ±ΡΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΡΡΡΡ Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
π38π€2
Π§ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄?
Anonymous Quiz
17%
Exception
22%
ArithmeticExceptionFinally
29%
ΠΠΎΠ΄ Π½Π΅ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅ΡΡΡ
31%
ExceptionFinally
π12π8π3π2
Π§Π΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠΈ?
ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ (composition) β ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ "ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ" (HAS-A Relationship), ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ΅ ΡΠ²Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ³ΡΠ΅Π³Π°ΡΠΈΡ (aggregation) β ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ "ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ" (HAS-A Relationship), ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ΅ Ρ ΠΎΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²ΠΎΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠ°ΡΡΡ, Π²ΡΠ΅ΠΌΡ ΠΈΡ ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½ΠΎ.
ΠΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ (composition) β ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ "ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ" (HAS-A Relationship), ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ΅ ΡΠ²Π½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ΠΌΡ ΠΆΠΈΠ·Π½ΠΈ ΡΠ²ΠΎΠ΅ΠΉ ΡΠΎΡΡΠ°Π²Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ.
ΠΠ³ΡΠ΅Π³Π°ΡΠΈΡ (aggregation) β ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ "ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ" (HAS-A Relationship), ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠ΅Π»ΠΎΠ΅ Ρ ΠΎΡΡ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ²ΠΎΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠ°ΡΡΡ, Π²ΡΠ΅ΠΌΡ ΠΈΡ ΠΆΠΈΠ·Π½ΠΈ Π½Π΅ ΡΠ²ΡΠ·Π°Π½ΠΎ.
π27π€―4π€3β€βπ₯1π€£1
Π§ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄?
Anonymous Quiz
31%
36
28%
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ (undefined behavior)
28%
43
13%
33
π18π5β‘2π2
ΠΠ°ΠΊΠΈΠ΅ Π±ΡΠ²Π°ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ (Π·Π°Π³Π»ΡΡΠΊΠΈ)? Π§Π΅ΠΌ ΡΡΠ°Π± ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΌΠΎΠΊΠ°?
Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (Test Double) β ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π² ΡΠ΅ΡΡΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π’ΠΈΠΏΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
β’ Dummy β ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ null
β’ Fake β Π·Π°Π³Π»ΡΡΠΊΠ°, ΡΠ²Π»ΡΡΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ, Π½ΠΎ Ρ ΡΡΠ΅Π·Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π² production-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: in-memory ΠΠ (fake database)
β’ Stub β Π·Π°Π³Π»ΡΡΠΊΠ° Ρ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π° Π²ΡΠ·ΠΎΠ²Ρ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (system under test β SUT) Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠ°
β’ Spy β ΡΡΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ Stub, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠ΅ΠΌ Ρ Π½Π΅ΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Ρ.ΠΏ.
β’ Mock β Π·Π°Π³Π»ΡΡΠΊΠ° Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π° Π½Π΅ΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΡΠ°
ΠΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π·Π°Π³Π»ΡΡΠ΅ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Mock ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ β Π΄Π»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
Π’Π΅ΡΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ (Test Double) β ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ Π² ΡΠ΅ΡΡΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π’ΠΈΠΏΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²:
β’ Dummy β ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Ρ, Π½ΠΎ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΡΠ°ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ null
β’ Fake β Π·Π°Π³Π»ΡΡΠΊΠ°, ΡΠ²Π»ΡΡΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ, Π½ΠΎ Ρ ΡΡΠ΅Π·Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡΡ ΠΈ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° Π² production-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: in-memory ΠΠ (fake database)
β’ Stub β Π·Π°Π³Π»ΡΡΠΊΠ° Ρ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π° Π²ΡΠ·ΠΎΠ²Ρ ΡΠΎ ΡΡΠΎΡΠΎΠ½Ρ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° (system under test β SUT) Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΡΡΠ°
β’ Spy β ΡΡΠΎ ΡΠ°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡΡ Stub, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π΄ΡΠ΅ΠΌ Ρ Π½Π΅ΠΉ, ΠΊΠ°ΠΊΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π±ΡΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ Ρ.ΠΏ.
β’ Mock β Π·Π°Π³Π»ΡΡΠΊΠ° Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠΌΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π½Π° Π½Π΅ΠΉ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ Π² Ρ ΠΎΠ΄Π΅ ΡΠ΅ΡΡΠ°
ΠΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° Π·Π°Π³Π»ΡΡΠ΅ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Mock ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ β Π΄Π»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
π₯18π12β1
π15π±15β14π³5π€¨5
ΠΠ°ΠΉΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΡ
Π’Π΅ΡΠΌΠΈΠ½ βΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌβ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ .
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ Π±ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ²:
1. Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ½ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°:
β’ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ β ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅, Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌΠΈ (Generic).
β’ ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (inclusive) β ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΎ Π΄Π»Ρ ΠΈ Π²ΡΠ΅Ρ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠ². ΠΡΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ°ΡΠ±Π°ΡΡ ΠΠΈΡΠΊΠΎΠ².
2. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ (ΠΈΠ»ΠΈ ad-hoc) β Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ (ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅) ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ· Π½Π΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΡ:
β’ ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° (overloading) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ (Π°ΡΠ½ΠΎΡΡΡΡ).
β’ ΠΠ΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ ΡΠ·ΡΠΊΠ°, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
Π’Π΅ΡΠΌΠΈΠ½ βΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌβ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΡΠ°ΡΡΠΎΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ .
ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ Π±ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΠΈΠ΄ΠΎΠ²:
1. Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ. ΠΠ½ ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°:
β’ ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ β ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅, Π°Π±ΡΡΡΠ°Π³ΠΈΡΡΡΡΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΌΠΈ (Generic).
β’ ΠΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (inclusive) β ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, Π½ΠΎ Π΄Π»Ρ ΠΈ Π²ΡΠ΅Ρ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠ². ΠΡΡΠ°ΠΆΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ°ΡΠ±Π°ΡΡ ΠΠΈΡΠΊΠΎΠ².
2. Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌ (ΠΈΠ»ΠΈ ad-hoc) β Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ (ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅) ΠΊ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠΌ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. ΠΠ· Π½Π΅Π³ΠΎ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΏΠΎΠ΄ΡΠΈΠΏΡ:
β’ ΠΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° (overloading) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½ΠΎ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ (Π°ΡΠ½ΠΎΡΡΡΡ).
β’ ΠΠ΅ΡΠ²Π½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ΅ ΡΠ·ΡΠΊΠ°, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ.
π25π±2π2π1πΎ1
Π§ΡΠΎ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄?
Anonymous Quiz
22%
falsetrue
33%
truetrue
14%
falsefalse
31%
ΠΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ
π18
ΠΠ°ΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅?
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π²ΡΠ·Π²Π°Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΅Π΅ ΡΠΈΠΏΡ ΠΌΠ΅ΡΠΎΠ΄
ΠΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Π½ΠΈΡ, Π»ΡΡΡΠ°Ρ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° β
Π’ΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
β’ ΠΠ΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ
β’ ΠΠ΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
ΠΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π²ΡΠ·Π²Π°Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π΅Π΅ ΡΠΈΠΏΡ ΠΌΠ΅ΡΠΎΠ΄
Collections.synchronized*(). Π‘Π°ΠΌΡΠΉ ΠΎΠ±ΡΠΈΠΉ ΠΈ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ±, ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±Π΅ΡΡΠΊΡ Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π²ΡΠ΅Ρ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ synchronized.ΠΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠΎΡΡΠΎΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΠ· ΡΡΠ΅Π½ΠΈΡ, Π»ΡΡΡΠ°Ρ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π° β
CopyOnWriteArrayList, ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π΅Π³ΠΎ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ CopyOnWriteArraySet. ΠΠΎΡΠΎΠΊΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π° ΠΏΡΠΈ Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² ΠΎΡΡΠ°Π΅ΡΡΡ immutable. Program order Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ volatile Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅.Π’ΡΠ΅ΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
Concurrent-ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ:β’ ΠΠ΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ
ConcurrentSkipListMap, ConcurrentHashMap ΠΈ ConcurrentSkipListSet (Ρ
ΡΡ-ΡΠ°Π±Π»ΠΈΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ)β’ ΠΠ΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
ConcurrentLinkedQueue ΠΈ ConcurrentLinkedDeque
β’ ΠΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΡ
ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉπ27