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

Что такое чистая архитектура

Чистая архитектура (Clean Architecture) — это подход к проектированию ПО, при котором код разделяется на слои с четкими границами и зависимостями, направленными внутрь (к ядру системы). Основная цель — минимизация связей между компонентами, упрощение тестирования и поддержки.

Основные принципы:

  1. Независимость от фреймворков — бизнес-логика не зависит от внешних библиотек.
  2. Тестируемость — ядро можно тестировать без UI, БД и других внешних зависимостей.
  3. Инверсия зависимостей — внешние слои зависят от внутренних (не наоборот).

Пример слоев в Python:

python
# Domain (ядро) — бизнес-логика
class User:
    def __init__(self, name: str):
        self.name = name

# Use Cases (сценарии)
class CreateUser:
    def __init__(self, user_repo):
        self.user_repo = user_repo

    def execute(self, name: str):
        user = User(name)
        self.user_repo.save(user)

# Infrastructure (внешний слой)
class UserRepository:
    def save(self, user: User):
        print(f"Saving {user.name} to DB")

Плюсы:

  • Гибкость (легко заменить БД, фреймворк).
  • Упрощенное тестирование (можно мокать репозитории).
  • Четкое разделение ответственности.

Минусы:

  • Избыточность для простых проектов.
  • Дополнительные абстракции усложняют код.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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