ISP Принцип разделения интерфейса (The Interface Segregation Principle) много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения
🎨👨💻 Превратите код в искусство вместе с моим авторским курсом GRASP & GOF Design Patterns. Старт нового потока 03.03.2025
На курсе: информация понятным языком, а не как в учебниках, разбор более 30 паттернов, вебинары с группой, много нетворкинга и практики.
Регистрируйтесь на курс до 21 февраля и получите скидку 20% - https://surl.li/zcyiya
Курсы для новичков:
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 в ФБ: https://www.facebook.com/foxmindedco
FoxmindEd в Instagram: https://www.instagram.com/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