tg-me.com/javarocks/149
Last Update:
Factory Method β ΡΡΠΎ ΠΏΠΎΡΠΎΠΆΠ΄Π°ΡΡΠΈΠΉ ΠΏΠ°ΡΡΠ΅ΡΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΡΠΏΠ΅ΡΠΊΠ»Π°ΡΡΠ΅, Π½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΏ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅:
πΉ ΠΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
πΉ ΠΠ»Ρ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΡΠ΅ΠΌΠΎΡΡΠΈ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ².
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°ΠΏΡΡΠΌΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ new, Π²Π°Ρ ΠΊΠΎΠ΄ ΠΆΠ΅ΡΡΠΊΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°Π½ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΊΠ»Π°ΡΡΡ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ Π΄ΡΡΠ³ΠΈΠΌ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ. Π‘ ΡΠ°Π±ΡΠΈΠΊΠΎΠΉ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π· Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ (ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΠΈΠ»ΠΈ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ), Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΌΠ΅Π½ΡΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
Π€Π°Π±ΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΡ Π»ΠΎΠ³ΠΈΠΊΡ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΡΠ°ΠΊΡΡ ΠΊΠ°ΠΊ:
βͺοΈ ΠΡΠ±ΠΎΡ Π½ΡΠΆΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ.
βͺοΈ Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΡΠΌ ΡΠΈΠΊΠ»ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
βͺοΈ ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠ² Singleton ΠΈΠ»ΠΈ Pooling Π²Π½ΡΡΡΠΈ ΡΠ°Π±ΡΠΈΠΊΠΈ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°Π±ΡΠΈΠΊΡ, Π²Ρ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠΈΠΏΡ ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΊΠΎΠ΄. ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
Π€Π°Π±ΡΠΈΠΊΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ mock-ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΡΠΈΠΊ Π΄Π»Ρ ΡΠ΅ΡΡΠΎΠ², ΡΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΡΠ΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΊΠΎΠ΄Π°.