4. Interface segregation principle
Принцип разделения интерфейса
программные сущности не должны зависеть от методов, которые они не используют
- тесно связан с первым принципом (ответственность)
- тесно связан с третьим принципом (подстановка)
разбивать толстые интерфейсы (программные сущности)
- интерфейсы маленькие (узко-специализированные)
- интерфейсы решают одну задачу
Положительность в принципе
- избавляем программные сущности от методов, которые они не используют
- получаем более предсказуемую работу
- код становится менее связанным в модулях и легче поддерживается