Какие есть принципы SOLID
Python
Middle
Evapps
Какие есть принципы SOLID
Ответы
SOLID — это пять принципов объектно-ориентированного проектирования:
- **Single Responsibility (SRP)** — класс должен иметь только одну причину для изменения (одну ответственность).
Пример:
```
class User:
def __init__(self, name: str):
self.name = name
class UserDB:
def save(self, user: User):
# Сохранение в БД
```
- **Open-Closed (OCP)** — классы должны быть открыты для расширения, но закрыты для модификации.
Пример: использование абстрактных классов/интерфейсов.
- **Liskov Substitution (LSP)** — подклассы должны заменять родительские классы без изменения поведения программы.
- **Interface Segregation (ISP)** — клиенты не должны зависеть от интерфейсов, которые они не используют.
Пример:
```
class Printer:
def print(self): pass
class Scanner:
def scan(self): pass
```
- **Dependency Inversion (DIP)** — зависимости должны строиться на абстракциях, а не на конкретных реализациях.
Пример: внедрение зависимостей через конструктор.