Как понимаешь принципы SOLID
Python
Junior
Без компании
Как понимаешь принципы SOLID
Ответы
SOLID — это пять принципов объектно-ориентированного проектирования, которые помогают создавать гибкий и поддерживаемый код.
- **Single Responsibility (SRP)** — класс должен иметь только одну причину для изменения (одну ответственность).
```
class User:
def __init__(self, name):
self.name = name
class UserDB:
def save(self, user):
print(f"Saving {user.name} to DB")
```
- **Open-Closed (OCP)** — классы должны быть открыты для расширения, но закрыты для модификации.
```
class Payment:
def process(self):
pass
class CreditCardPayment(Payment):
def process(self):
print("Processing credit card")
class PayPalPayment(Payment):
def process(self):
print("Processing PayPal")
```
- **Liskov Substitution (LSP)** — подклассы должны заменять базовые классы без изменения поведения.
- **Interface Segregation (ISP)** — клиенты не должны зависеть от интерфейсов, которые они не используют.
- **Dependency Inversion (DIP)** — модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций.
Применение SOLID делает код чище, тестируемее и легче для масштабирования.