Встречается на собеседованиях • сегодня
Приведи пример использования Single Responsibility Principle
Разделяю классы так, чтобы каждый отвечал только за одну задачу. Например, вместо монолитного класса UserManager, который и сохраняет, и валидирует, и отправляет уведомления, создаю отдельные классы:
java
class UserValidator {
boolean validate(User user) { /* проверка данных */ }
}
class UserRepository {
void save(User user) { /* сохранение в БД */ }
}
class UserNotifier {
void sendWelcomeEmail(User user) { /* отправка email */ }
}
text
Преимущества:
- Код проще тестировать
- Изменения в одной части системы не ломают другие
- Классы становятся более читаемыми и компактными
Признак нарушения SRP - когда класс меняется по разным причинам. Например, если приходится менять `UserManager` и при изменении формата валидации, и при смене SMTP-сервера - это явный сигнал к разделению.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы