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

Что такое принцип единственной ответственности (SRP, Single Responsibility Principle) в ООП

Принцип единственной ответственности (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):
        # Логика отправки
        pass

Теперь каждый класс выполняет одну задачу.

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

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

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

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