Перейти к основному содержимому

Структура проекта

Цель

Основная цель структуры проекта - минимизация когнитивной нагрузки и предсказуемость кодовой базы.

Структура проекта MUST:

  • Помогать быстро ориентироваться в коде без глобального контекста
  • Обеспечивать контролируемый рост проекта
  • Минимизировать неявные связи
  • Поддерживать low coupling и high cohesion

Нарушение правил считается архитектурной ошибкой.


Выбор подхода

Тип проектаПодходХарактеристики
Простые (MVP, Landing)Feature-basedПлоская структура, минимум абстракций
Сложные (Продукты)Feature-Sliced DesignСтрогие слои, контролируемые зависимости

Сигналы перехода на Feature-Sliced Design

SHOULD: Мигрировать на Feature-Sliced Design при появлении:

  • Повторно используемые бизнес-сущности
  • Рост числа фич, работающих с одними данными
  • Доменные инварианты и правила
  • Рост команды или параллельная разработка

Разделы документации