Что значит буква S в SOLID
Python
Middle
Evapps
Что значит буква S в SOLID
Ответы
SOLID — это принципы объектно-ориентированного проектирования. Буква **S** означает **Single Responsibility Principle (Принцип единственной ответственности)**.
Суть: каждый класс (или модуль) должен иметь только одну причину для изменения, т.е. выполнять одну конкретную задачу.
**Пример нарушения:**
```
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` отвечает и за данные пользователя, и за работу с БД, и за отправку писем.
**Исправленный вариант:**
```
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
```
Теперь каждый класс решает свою задачу.