Встречается на собеседованиях • сегодня

Что такое Single Responsibility Principle

Принцип Single Responsibility (SRP) — один из пяти SOLID-принципов, который гласит, что класс должен иметь только одну причину для изменения, то есть выполнять одну ответственность. Это упрощает поддержку, тестирование и уменьшает связанность кода.

Пример нарушения SRP:

python
class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email
text
def save_to_db(self):
    # Логика сохранения в БД
    pass

def send_email(self, message):
    # Логика отправки email
    pass
text
Здесь класс `User` отвечает и за хранение данных, и за работу с БД, и за отправку email.

**Исправленный вариант:**
```python
class User:
    def __init__(self, name, email):
        self.name = name
        self.email = email

class UserDB:
    def save(self, user):
        # Логика сохранения в БД
        pass

class EmailService:
    def send(self, user, message):
        # Логика отправки email
        pass

Теперь каждый класс выполняет одну задачу, и изменения в одной области не затрагивают другие.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы