PassFront
  1. PassFront
  2. База знаний
  3. Классы

Какие есть принципы SOLID?

Классы

Принципы SOLID — это Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation и Dependency Inversion. Пять правил проектирования для гибкого и поддерживаемого кода.

Расшифровка

S — Single Responsibility

Один модуль — одна ответственность, одна причина для изменения.

O — Open/Closed

Код открыт для расширения, закрыт для модификации: новую функциональность добавляют, не меняя существующий код (например, полиморфизмом).

L — Liskov Substitution

Объект подтипа можно подставить вместо базового типа без нарушения корректности программы.

I — Interface Segregation

Много специализированных интерфейсов лучше одного «толстого»: клиент не зависит от методов, которые не использует.

D — Dependency Inversion

Модули верхнего уровня зависят от абстракций, а не от конкретных реализаций; детали зависят от абстракций.

Пример на фронтенде

  • SRP: разделить компонент отображения и логику загрузки данных.
  • DIP: передавать сервис/репозиторий как зависимость, чтобы подменять моком в тестах.

Зачем

Снижают связанность, упрощают тестирование, расширение и рефакторинг.

Коротко для собеседования

SOLID: Single Responsibility (одна ответственность), Open/Closed (расширяй, не меняй), Liskov Substitution (подтип заменяет тип), Interface Segregation (узкие интерфейсы), Dependency Inversion (зависимость от абстракций). Цель — гибкий, тестируемый код.

Другие вопросы раздела