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

Python Senior Без компании
Что такое принцип единственной ответственности (SRP, Single Responsibility Principle) в ООП
Ответы
Принцип единственной ответственности (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): # Логика отправки pass ``` Теперь каждый класс выполняет одну задачу.