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

Приведи пример использования 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-сервера - это явный сигнал к разделению.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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