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

Какую проблему решает чистая архитектура

Чистая архитектура (Clean Architecture) помогает разделить код на слои с чёткими границами, чтобы:

  1. Уменьшить связанность – компоненты зависят от абстракций, а не от деталей реализации.
  2. Упростить тестирование – бизнес-логика изолирована от фреймворков и внешних сервисов.
  3. Облегчить поддержку – изменения в одном слое (например, UI) не требуют переписывания других.

Пример структуры:

python
# Domain (ядро)
class User:
    def __init__(self, name: str):
        self.name = name

# Use Cases (бизнес-правила)
class UserService:
    def register(self, user: User) -> None:
        ...

# Infrastructure (внешние детали)
class DatabaseRepository:
    def save(self, user: User) -> None:
        print(f"Saved {user.name} to DB")

# Adapters (связующие слои)
class UserController:
    def __init__(self, service: UserService):
        self.service = service

Здесь UserService зависит от абстракции (хотя в Python она неявная), а DatabaseRepository можно заменить без изменения домена.

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

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

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

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