Skip to main content

Глоссарий терминов

В этом разделе приведены основные термины и определения, используемые в проекте.
Цель — обеспечить единое понимание и избежать двусмысленности.


Общие термины

  • Модуль — логическая единица организации кода (технический аспект).
    Обычно это набор связанных функциональных блоков и кейсов, сгруппированных по смыслу.

  • Фича (feature) — функциональная задача, реализующая конкретный пользовательский или системный сценарий.
    Фичи могут состоять из нескольких кейсов.

  • Кейс (case) — часть фичи, реализующая отдельный сценарий.
    Пример: кейс авторизации пользователя или регистрации нового аккаунта.

  • Use-case — бизнес-сценарий, реализованный в слое domain.
    Чёрный ящик, который получает входные данные через порты и возвращает результат без знания UI и конкретной реализации хранения данных.

  • Слой (layer) — уровень архитектуры проекта:

    • app — UI и взаимодействие с пользователем
    • domain — бизнес-логика и правила предметной области
    • data — доступ к данным и внешним источникам
  • Port — интерфейс для взаимодействия между слоями, определяемый в domain.
    Например, IUserRepository — порт для работы с пользователями.

  • DTO (Data Transfer Object) — объект для передачи данных между слоями или компонентами.
    Используется для изоляции слоёв и стандартизации формата данных.

  • Presenter — слой, связывающий данные и действия с интерфейсом (часть кейса в app/modules).
    Отвечает за подготовку данных для компонентов и вызов use-case.

  • Request — слой, выполняющий сетевые запросы или работу с внешними источниками (часть кейса в app/modules).

  • Schema — схема валидации данных (например, формы).
    Может быть локальной для кейса или общей для нескольких кейсов.

  • Modal — модальные окна, используемые в разных кейсах или фичах.
    Если элемент используется в нескольких местах, он выносится на уровень модуля.


Дополнительные термины

  • Provider — компонент или класс, предоставляющий контекст, сервис или данные для дочерних компонентов ( AppProviders.tsx).

  • Store — глобальное состояние приложения (например, Redux, Zustand).

  • UI-kit — набор базовых и переиспользуемых UI-компонентов (кнопки, поля ввода, карточки и т.д.).

  • Middleware — промежуточная логика для обработки действий, например, авторизация маршрутов или логирование.

  • Guard — «охранник» маршрута, проверяющий условия доступа перед переходом.

  • Dependency Rule — правило зависимости между слоями: app → domain и data → domain.
    Оно гарантирует изоляцию бизнес-логики и чистоту архитектуры.