SOLID принципы: ISP (Принцип Разделения Интерфейса (The Interface Segregation Principle)

ISP Принцип разделения интерфейса (The Interface Segregation Principle) много интерфейсов, специально предназначенных для клиентов, лучше, чем один интерфейс общего назначения Курсы для новичков: JAVA - JAVA Start - Инструментарий JAVA - Automation QA (Java) - ANDROID - C#/.NET - C# START - PYTHON - FRONT-END - WORDPRESS Developer - SALESFORCE Developer - UI/UX дизайн - Project management - Обучение на проекте - Продвинутые курсы для состоявшихся девелоперов: GRASP and GoF Design patterns - Enterprise patterns - Сайт Foxminded: Foxminded в ФБ: FoxmindEd в Instagram: Foxminded в VK: Мой Telegram: Мой блог: 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
Back to Top