Встречается на собеседованиях • сегодня
Применял ли SOLID в JS
SOLID принципы применимы и в JavaScript, хотя язык не строго типизирован.
- Single Responsibility - каждый класс/функция должны решать одну задачу.
javascript
// Плохо
class User {
saveToDB() { /* ... */ }
sendEmail() { /* ... */ }
}
// Хорошо
class User {
// только логика пользователя
}
class UserRepository {
saveToDB(user) { /* ... */ }
}
class EmailService {
sendEmail(user) { /* ... */ }
}-
Open-Closed - сущности открыты для расширения, но закрыты для изменений. Используем композицию.
-
Liskov Substitution - наследники должны заменять родителей без ошибок.
-
Interface Segregation - в JS нет интерфейсов, но можно разделять методы.
-
Dependency Inversion - зависимости через абстракции (например, передача сервисов в конструктор).
Пример с DI:
javascript
class AuthService {
constructor(userRepository) {
this.userRepository = userRepository;
}
}Используется реже, чем в ООП-языках, но помогает писать поддерживаемый код.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы