Telegram Group & Telegram Channel
πŸ•― ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Factory Method (Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄)

Factory Method β€” это ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт интСрфСйс для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² супСрклассС, Π½ΠΎ позволяСт подклассам ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ создаваСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ИспользованиС:

πŸ”Ή Когда созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° зависит ΠΎΡ‚ контСкста.
πŸ”Ή Для увСличСния Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°, позволяя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

1️⃣ ОслаблСниС связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ классами.
Когда Π²Ρ‹ создаСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ new, ваш ΠΊΠΎΠ΄ ТСстко привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ классу. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот класс Π΄Ρ€ΡƒΠ³ΠΈΠΌ, придСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС мСста, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ Ρ„Π°Π±Ρ€ΠΈΠΊΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· абстракции (интСрфСйсы ΠΈΠ»ΠΈ абстрактныС классы), Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π±Π΅Π· измСнСния основного ΠΊΠΎΠ΄Π°.

2️⃣ Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ созданиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
Π€Π°Π±Ρ€ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎ созданию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ:
β–ͺ️ Π’Ρ‹Π±ΠΎΡ€ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ класса Π² зависимости ΠΎΡ‚ условий.
β–ͺ️ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
β–ͺ️ ИспользованиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² Singleton ΠΈΠ»ΠΈ Pooling Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ.

3️⃣ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ, Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π΅Π· нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ основной ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ систСмы.

4️⃣ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° тСстирования
Π€Π°Π±Ρ€ΠΈΠΊΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ тСстированиС ΠΊΠΎΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ mock-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊ для тСстов, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС тСстируСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ΄Π°.

πŸ‘‰ Java Rocks | #ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/javarocks/149
Create:
Last Update:

πŸ•― ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Factory Method (Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄)

Factory Method β€” это ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°ΡŽΡ‰ΠΈΠΉ ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт интСрфСйс для создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² супСрклассС, Π½ΠΎ позволяСт подклассам ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ создаваСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

ИспользованиС:

πŸ”Ή Когда созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° зависит ΠΎΡ‚ контСкста.
πŸ”Ή Для увСличСния Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°, позволяя ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ².

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π°:

1️⃣ ОслаблСниС связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ классами.
Когда Π²Ρ‹ создаСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ new, ваш ΠΊΠΎΠ΄ ТСстко привязан ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ классу. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот класс Π΄Ρ€ΡƒΠ³ΠΈΠΌ, придСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ всС мСста, Π³Π΄Π΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘ Ρ„Π°Π±Ρ€ΠΈΠΊΠΎΠΉ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· абстракции (интСрфСйсы ΠΈΠ»ΠΈ абстрактныС классы), Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π±Π΅Π· измСнСния основного ΠΊΠΎΠ΄Π°.

2️⃣ Π£ΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΠ΅ ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ созданиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
Π€Π°Π±Ρ€ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΠΎ созданию ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΡƒΡŽ ΠΊΠ°ΠΊ:
β–ͺ️ Π’Ρ‹Π±ΠΎΡ€ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ класса Π² зависимости ΠΎΡ‚ условий.
β–ͺ️ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.
β–ͺ️ ИспользованиС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² Singleton ΠΈΠ»ΠΈ Pooling Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ.

3️⃣ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΠΈ ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ
Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π°Π±Ρ€ΠΈΠΊΡƒ, Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π±Π΅Π· нСобходимости ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ основной ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ систСмы.

4️⃣ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° тСстирования
Π€Π°Π±Ρ€ΠΈΠΊΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ тСстированиС ΠΊΠΎΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ mock-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„Π°Π±Ρ€ΠΈΠΊ для тСстов, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ созданиС тСстируСмых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ΄Π°.

πŸ‘‰ Java Rocks | #ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹

BY JavaRocks




Share with your friend now:
tg-me.com/javarocks/149

View MORE
Open in Telegram


JavaRocks Telegram | DID YOU KNOW?

Date: |

At a time when the Indian stock market is peaking and has rallied immensely compared to global markets, there are companies that have not performed in the last 10 years. These are definitely a minor portion of the market considering there are hundreds of stocks that have turned multibagger since 2020. What went wrong with these stocks? Reasons vary from corporate governance, sectoral weakness, company specific and so on. But the more important question is, are these stocks worth buying?

Dump Scam in Leaked Telegram Chat

A leaked Telegram discussion by 50 so-called crypto influencers has exposed the extraordinary steps they take in order to profit on the back off unsuspecting defi investors. According to a leaked screenshot of the chat, an elaborate plan to defraud defi investors using the worthless β€œ$Few” tokens had been hatched. $Few tokens would be airdropped to some of the influencers who in turn promoted these to unsuspecting followers on Twitter.

JavaRocks from br


Telegram JavaRocks
FROM USA