Ответ
Принцип единственной ответственности (SRP) гласит, что класс должен иметь только одну причину для изменения, т.е. выполнять лишь одну задачу. Это упрощает поддержку кода, уменьшает связность и облегчает тестирование.
Пример нарушения SRP:
class User {
fun saveToDb(user: User) { /*...*/ }
fun sendEmail(user: User) { /*...*/ }
}
Правильный вариант:
class UserRepository {
fun saveToDb(user: User) { /*...*/ }
}
class EmailService {
fun sendEmail(user: User) { /*...*/ }
}
Ключевые преимущества:
- Изменение логики работы с БД не затрагивает отправку email
- Каждый класс проще тестировать изолированно
- Код становится более читаемым и понятным
Видео-ответы
▶
Собеседование Python developer на 3000$
▶
Парень стал программистом в 33 года, а в 36 уже крепкий миддл?? / Техсобес Middle Python Developer
▶
Джун был тимлидом, разрабатывал телеграм ботов и стал миддлом? / Техсобес Middle Python Developer
▶
Миддл с 3-мя годами опыта менторит студентов?? / Техсобес на позицию Middle Python Developer
▶
Джун пишет tg-ботов и разбирается в ООП как никто другой? / Лайвкодинг / Техсобес Junior Python Dev
▶
Unity Developer Собеседование C#. Тренировочное интервью на вакансию с актуальными вопросами
▶
ПРОБНОЕ СОБЕСЕДОВАНИЕ C# Junior программиста
▶
Собеседование Java Junior | История джуна который смог | Мои первые собеседования | Jetbulb
▶
Из кибер-безопасника в Python разработчики? / Техсобес на позицию Junior Python Developer