Π£ Π½Π°Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ SOLID ΠΏΡΠΈΠ½ΡΠΈΠΏΡ: ISP (ΠΡΠΈΠ½ΡΠΈΠΏ Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (The Interface Segregation Principle) ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ Π² ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅, Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ Π½Π° ΡΡΡΠ±. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ Π½ΠΈΠΆΠ΅:
ΠΡΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ Π½Π΅
Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈΡΡ
ΠΠΠΠΠΠ’Π ΠΠΠΠ‘Π¬ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ Π²Π½ΠΈΠ·Ρ
ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ° ClipSaver.ru
ISP ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (The Interface Segregation Principle) ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ π’Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π²Π°Ρ ΠΆΠ΄Π°Π»ΠΈ. ποΈΠΠΎΠ²ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΌΠΎΠ΅Π³ΠΎ Π°Π²ΡΠΎΡΡΠΊΠΎΠ³ΠΎ, Π»Π΅Π³Π΅Π½Π΄Π°ΡΠ½ΠΎΠ³ΠΎ ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡΡΡΠ° Enterprise Patterns Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΈΠΌ, ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΡΡΠ°ΡΡΡΠ΅Ρ ΡΠΆΠ΅ 5 ΠΌΠ°Ρ. ΠΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, ΡΠ°Π½Π½ΠΈΠ΅ ΠΏΡΠ°ΡΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π»ΡΡΡΡΡ ΡΠ΅Π½Ρ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ ΠΠ»Π°ΡΠΈΠ½ΡΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ: ΡΠΊΠΈΠ΄ΠΊΡ -30%. β³Π‘ΠΊΠΈΠ΄ΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π΄ΠΎ 24.04. ΠΠ΅ ΠΌΠ΅Π΄Π»ΠΈΡΠ΅, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΡΠ΅ΠΉΡΠ°Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ ΠΊΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½ΡΠΆΠ΅Π½ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ΅Π½ΡΠΎΡ-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ - https://go.foxminded.ua/3ZXzkWb ΠΡΡΡΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ²: JAVA - https://bit.ly/3kDVgyN JAVA Start - https://bit.ly/3kIrg4Q ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ JAVA - https://bit.ly/31OjxcK Automation QA (Java) - https://bit.ly/2DXjF1p ANDROID - https://bit.ly/2CtiDd4 C#/.NET - https://bit.ly/3gVHKnM C# START - https://bit.ly/31NXMtE PYTHON - https://bit.ly/30Rscfg FRONT-END - https://bit.ly/3fZcLWp WORDPRESS Developer - https://bit.ly/2Cq9HoF SALESFORCE Developer - https://bit.ly/2Fg3VXK UI/UX Π΄ΠΈΠ·Π°ΠΉΠ½ - https://bit.ly/2CoaCpC Project management - https://bit.ly/3gVptqJ ΠΠ±ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ΅ - https://bit.ly/31T93Jf ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΠΊΡΡΡΡ Π΄Π»Ρ ΡΠΎΡΡΠΎΡΠ²ΡΠΈΡ ΡΡ Π΄Π΅Π²Π΅Π»ΠΎΠΏΠ΅ΡΠΎΠ²: GRASP and GoF Design patterns - https://bit.ly/2DWD9mG Enterprise patterns - https://bit.ly/3fWlZ5O Π‘Π°ΠΉΡ Foxminded: https://bit.ly/2CpCKc5 Foxminded Π² Π€Π: Β Β /Β foxmindedcoΒ Β FoxmindEd Π² Instagram: Β Β /Β foxminded.uaΒ Β Foxminded Π² VK: https://vk.com/foxminded ΠΠΎΠΉ Telegram: https://t.me/nemchinskiyOnBusiness ΠΠΎΠΉ Π±Π»ΠΎΠ³: www.nemchinsky.me 1. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ°Π±ΠΎΡΡ Π ΠΎΠ±Π΅ΡΡΠ° ΠΠ°ΡΡΠΈΠ½Π° (Π΄ΡΠ΄ΠΈ ΠΠΎΠ±Π°). ΠΠΊΡΠΎΠ½ΠΈΠΌ SOLID ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Michael Feathers 2. SOLID (ΡΠΎΠΊΡ. ΠΎΡ Π°Π½Π³Π». single responsibility, open-closed, Liskov substitution, interface segregation ΠΈ dependency inversion) 1. SRP ΠΡΠΈΠ½ΡΠΈΠΏ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ (The Single Responsibility Principle) - ΠΠ°ΠΆΠ΄ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΠΏΡΠΈΡΠΈΠ½Ρ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. 2. OCP ΠΡΠΈΠ½ΡΠΈΠΏ ΠΎΡΠΊΡΡΡΠΎΡΡΠΈ/Π·Π°ΠΊΡΡΡΠΎΡΡΠΈ (The Open Closed Principle) - ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ β¦ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π·Π°ΠΊΡΡΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ 3. LSP ΠΡΠΈΠ½ΡΠΈΠΏ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΠ°ΡΠ±Π°ΡΡ ΠΠΈΡΠΊΠΎΠ² (The Liskov Substitution Principle) ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΌΠΈ Π½Π° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΈΡ ΠΏΠΎΠ΄ΡΠΈΠΏΠΎΠ² Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ 4. ISP ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (The Interface Segregation Principle) ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π»ΡΡΡΠ΅, ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ 5. DIP ΠΡΠΈΠ½ΡΠΈΠΏ ΠΈΠ½Π²Π΅ΡΡΠΈΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ (The Dependency Inversion Principle) ΠΠ°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π½Π° ΠΠ±ΡΡΡΠ°ΠΊΡΠΈΡΡ . ΠΠ΅Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ Π½Π° ΡΡΠΎ-ΡΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ΅ 1. Π² ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ΅ Π ΠΎΠ±Π΅ΡΡΠ° ΠΠ°ΡΡΠΈΠ½Π° Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ. Π’ΠΎ Π΅ΡΡΡ Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ, ΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΉ ΠΊΠΎΠ΄. 2. Π‘Π»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ISP Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Ρ ΠΈ ΡΡΠ΅Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² 3. ΠΠ·Π±ΡΡΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΌΠΎΠ³ΡΡ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΡΠΈΡΡΠΌ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΊΠΈΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΌΡΡΠ»Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΊΠ»Π°ΡΡΠ°. 4. ΠΏΠ΅ΡΠ΅ΠΊΠ»ΠΈΠΊΠ°Π΅ΡΡΡ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΎΠΌ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎΡΡΠΈ 5. ΡΠ½ΠΈΠΆΠ°Π΅Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ 6. Π§Π΅ΠΌ ΠΏΡΠΎΡΠ΅ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ΅ΠΌ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΡΡΡΡΠΎΡΠΌΠΊΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π² Π½ΠΎΠ²ΡΡ ΠΊΠ»Π°ΡΡΠ°Ρ , ΡΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ Π΅Π³ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ 0:00 β Π²ΡΡΡΠΏΠ»Π΅Π½ΠΈΠ΅ Π‘Π΅ΡΠ³Π΅Ρ ΠΠ΅ΠΌΡΠΈΠ½ΡΠΊΠΎΠ³ΠΎ 0:36 β Π²ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ SOLID Π² ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ΅ 2:47 β ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° (The Interface Segregation Principle / ISP) 3:17 β ΠΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ 9:01 β ΠΏΠΎΡΠ΅ΠΌΡ Ρ ΠΎΡΠΎΡΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ISP