Встречается на собеседованиях • сегодня

Что такое SOLID и какие принципы оно включает

SOLID — это набор принципов объектно-ориентированного проектирования, помогающих создавать гибкий и поддерживаемый код.

  1. Single Responsibility (SRP) — класс должен иметь только одну причину для изменения.

    python
    class User:
        def __init__(self, name):
            self.name = name
        # Только логика пользователя
  2. Open-Closed (OCP) — классы должны быть открыты для расширения, но закрыты для изменения.

    python
    class Shape(ABC):
        @abstractmethod
        def area(self): pass
    

class Circle(Shape):
def area(self): ...

text

3. **Liskov Substitution (LSP)** — подклассы должны заменять базовые классы без нарушения логики.  

4. **Interface Segregation (ISP)** — клиенты не должны зависеть от интерфейсов, которые они не используют.  
```python
class Printer(ABC):
    @abstractmethod
    def print(self): pass

class Scanner(ABC):
    @abstractmethod
    def scan(self): pass
  1. Dependency Inversion (DIP) — завись от абстракций, а не от конкретных реализаций.
    python
    class Database(ABC):
        @abstractmethod
        def save(self, data): pass
    
    class MySQL(Database):
        def save(self, data): ...

Использование SOLID упрощает тестирование, рефакторинг и масштабирование кода.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы