Sobes.tech
Назад к вопросам
Junior — Middle
69

Можешь показать пример применения принципа 'Single Responsibility' из SOLID в реальной ситуации?

Компании, где спрашивали
Dogma

Ответ от нейросети

sobes.tech AI

Принцип Single Responsibility (Принцип единственной ответственности) говорит, что класс должен иметь только одну причину для изменения, то есть отвечать за одну конкретную задачу.

Пример на Kotlin для Android:

// Плохо: класс отвечает и за логику работы с данными, и за отображение
class UserManager {
    fun loadUser() { /* загрузка пользователя */ }
    fun displayUser() { /* отображение пользователя */ }
}

// Хорошо: разделяем ответственность
class UserRepository {
    fun loadUser() { /* загрузка пользователя из БД или сети */ }
}

class UserView {
    fun displayUser(user: User) { /* отображение пользователя на экране */ }
}

Такой подход упрощает поддержку кода и тестирование, так как каждая часть отвечает за свою конкретную задачу.