Skip to content

Основные концепции FDA

Фрактальность — это принцип, при котором структура на одном уровне повторяется на всех других уровнях.

  • Две категории для кода - функциональные слои (инфраструктура) и бизнес логика
  • Бизнес логика должна быть инкапсулирована и определять домены
  • Домены содержат функциональные слои и поддомены
  • Это module first подход

Термины внтури бизнес логики:

Section titled “Термины внтури бизнес логики:”
  1. Задаются требованиями бизнеса
  2. Прозрачны для разработчиков, менеджеров и заказчиков
  3. Могут иметь публичное api для кросс-доменных связей
  4. Определяют структуру приложения
  1. Задаются разработчиками
  2. Расширяются по мере возрастания функциональной сложности приложения
  3. Данные перетекают как правило последовательно от слоя к слою
  4. Отвечают за поток данных внутри доменов
УровеньПутьОписание
Infrastructuresrc/lib/*Код инфраструктуры, без бизнес-логики. Меняется крайне редко, в случае компонентов - их можно вынести в библиотеку
Business Logicsrc/routes/*Код с бизнес логикой. Меняется часто, может использовать код инфраструктуры

📊 Слоистая архитектура (Layered Architecture)

Section titled “📊 Слоистая архитектура (Layered Architecture)”

Каждый домен/модуль имеет строгое разделение на слои. Верхние слои не используют нижние, но нижние используют соседний верхний. Направление потока данных сохраняется на всех слоях:

Обобщение логических слоев:

Section titled “Обобщение логических слоев:”
СлойФайлыОтветственностьЗапреты
Reposerver/repo/*Подключение к внешним источникамНет бизнес-логики
Modelmodel.server.ts, schema.tsЛогика работы с даннымиБогатые модели бизнес-логикой
RPCrpc.tsИспользует модели и выступает как APIНе использует
Reactivitystate.ts, stores.tsУправление состоянием, реактивностьНет прямых импортов внешних источников
UI+page.svelte, ui/Отображение, пользовательский вводНет прямых импортов repo/*

→ Структура проекта — детальное описание путей и конвенций

→ Домены и подмодули — фрактальная организация кода