Ответ
Принцип единственной ответственности (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
- Каждый класс проще тестировать изолированно
- Код становится более читаемым и понятным
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶