Ответ
Single Responsibility Principle (SRP) упрощает разработку, делая код более понятным, тестируемым и поддерживаемым.
Преимущества:
- Читаемость: Классы/методы делают одну вещь, их легче понять.
- Тестируемость: Меньше зависимостей — проще мокировать и проверять.
- Гибкость: Изменения в одной части системы не ломают другие.
Пример:
// Плохо: класс делает слишком много
class UserManager {
fun saveUser(user: User) { /* сохранение в БД */ }
fun sendEmail(user: User) { /* отправка email */ }
}
// Хорошо: разделение ответственностей
class UserRepository {
fun saveUser(user: User) { /* только сохранение */ }
}
class EmailService {
fun sendEmail(user: User) { /* только отправка */ }
}
SRP уменьшает coupling и упрощает рефакторинг.