WARNING
Страница требует обсуждения и доработки.
Глоссарий
Краткие определения ключевых терминов, используемых в документации FEOD. Важно отметить, что многие из терминов не специфичны для FEOD и используются в других методологиях, тут они указаны для однозначного определения.
- FEOD (Fractal Entity Oriented Design) — методология организации структуры проекта, задающая уровни сущностей и правила их взаимодействия.
- Методология — это набор правил и конвенций, которые используются для организации структуры проекта.
- Архитектура — это логика и правила взаимодействия между сущностями проекта.
- Структура — это расположение сущностей в файловой системе.
- Уровень — это группа сущностей на одном уровне файловой системы и наделенные определенной логикой. Например:
app-уровень, уровень модулей (значит что все сущности на этом уровне являются модулями). - Сущность — файл или директория с определенной ролью и правилами использования.
- Роль или Тип — собирательный термин для обозначения совокупности логики и семантики однотипных сущностей.
- App — уровень запуска и настройки приложения: входная точка, роутер, интеграции, конфигурации, лейауты.
- Pages — уровень страниц приложения; страницы соответствуют URL и не переиспользуются другими уровнями. Может быть частью модуля.
- Modules — уровень бизнес-логики, организованной в независимые модули с публичным API.
- Common — уровень общих переиспользуемых сущностей без бизнес-специфики.
- Global — уровень сущностей, доступных без импорта (глобальные типы, полифиллы, shim).
- Сущность — файл или директория с определенной ролью и правилами использования.
- Модуль — самостоятельная часть логики с публичным API, экспортируемым через
index.ts. - Подмодуль — модуль внутри модуля, подчиняющийся тем же правилам и доступный через API родительского модуля.
- Публичный API модуля — единственная точка входа в модуль, как правило
index.ts. - Фрактальность — возможность строить вложенные структуры без ограничения глубины.
- File-based routing — подход, при котором структура файлов
pagesсоответствует структуре URL. - IoC (Inversion of Control) — подход к управлению зависимостями, при котором реализация внедряется извне.
- DI (Dependency Injection) — механизм внедрения зависимостей, часто используемый совместно с IoC.
- SSR (Server-Side Rendering) — серверная отрисовка приложения с отдельными точками входа клиента и сервера.
- BFF (Backend for Frontend) — серверный уровень, адаптирующий данные под нужды конкретного фронтенда.
- DDD (Domain-Driven Design) — подход к проектированию, где структура отражает доменную модель.
- Приватный модуль страницы — модуль с префиксом
_внутриpages, доступный только в рамках своей страницы. - Сквозной модуль — модуль-контейнер, который содержит подмодули напрямую без папки
modules/. - Однофайловый модуль — модуль, реализованный в одном файле в
modules/. - Индексный файл (barrel file) — индексный файл, собирающий реэкспорты, например
index.ts. - Tree-shaking — удаление неиспользуемого кода на этапе сборки.
- Алиас импорта — сокращенный путь, например
@/modules/..., ведущий к корню исходников.