Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

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

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

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

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

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