Встречается на собеседованиях • сегодня

Что такое SOLID

SOLID — это набор принципов объектно-ориентированного проектирования, направленных на создание гибкого, поддерживаемого и расширяемого кода.

  1. Single Responsibility (единственная ответственность) — класс должен решать только одну задачу.
  2. Open-Closed (открытость/закрытость) — классы должны быть открыты для расширения, но закрыты для изменений.
  3. Liskov Substitution (подстановка Лисков) — наследники должны заменять родительские классы без нарушения логики.
  4. Interface Segregation (разделение интерфейсов) — лучше много узких интерфейсов, чем один универсальный.
  5. Dependency Inversion (инверсия зависимостей) — зависимости должны строиться на абстракциях, а не на конкретных реализациях.

Пример с SRP:

java
// Плохо: класс отвечает и за логику, и за сохранение
class User {
    void saveToDatabase() { /* ... */ }  
    void calculateAge() { /* ... */ }  
}

// Хорошо: разделение ответственности
class User { void calculateAge() { /* ... */ } }  
class UserRepository { void save(User user) { /* ... */ } }  
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы