Что такое Single Responsibility Principle

Python Senior Без компании
Что такое Single Responsibility Principle
Ответы
Принцип Single Responsibility (SRP) — один из пяти SOLID-принципов, который гласит, что класс должен иметь только одну причину для изменения, то есть выполнять одну ответственность. Это упрощает поддержку, тестирование и уменьшает связанность кода. **Пример нарушения SRP:** ``` class User: def __init__(self, name, email): self.name = name self.email = email def save_to_db(self): # Логика сохранения в БД pass def send_email(self, message): # Логика отправки email pass ``` Здесь класс `User` отвечает и за хранение данных, и за работу с БД, и за отправку email. **Исправленный вариант:** ``` 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 ``` Теперь каждый класс выполняет одну задачу, и изменения в одной области не затрагивают другие.