Files
slm-design/DRAFT/architecture/README.md
S. Gromov 691069af8e sync
2026-08-10 09:12:22 +03:00

3.8 KiB
Raw Blame History

Архитектура SLM

Статус: рабочий черновик. Документы в этой папке не являются спецификацией.

SLM задаёт структурную основу приложения: слои, модули, публичные границы, зависимости, фасеты сред выполнения и владение жизненным циклом.

Область SLM

Черновик описывает слои, модули, группы, сегменты, компоненты, публичный API, зависимости и владение жизненным циклом ресурсов.

SLM не задаёт обязательную внутреннюю форму модуля, обязательный поток данных, правила монорепозиториев или полный файловый стайлгайд. Форма модуля следует его ответственности и реальным потребителям.

Виды утверждений

  • Определение нормативно задаёт смысл архитектурного термина, но не получает код правила.
  • Правило задаёт блокирующий архитектурный инвариант и объявляется в каноническом реестре.
  • Рекомендация помогает принять решение, но не делает архитектуру невалидной.
  • Пример иллюстрирует модель и не задаёт обязательную структуру.

Нормативные определения находятся в терминологии. Канонический набор требований находится в реестре правил SLM. Формат и требования к правилам описаны отдельно в разделе Правила SLM.

Остальные документы объясняют и иллюстрируют модель, но не владеют точными формулировками определений и правил.

Основная идея

Модуль является основной архитектурной единицей SLM. Слой задаёт его роль и направление зависимостей: модули слоя domains владеют предметными ответственностями на тех же основаниях, что и остальные модули. Группа помогает навигации, сегмент организует внутреннее содержимое, а компонент всегда принадлежит модулю.

SLM требует отдельную папку и единый логический публичный API модуля. По умолчанию API представлен корневым index; при необходимости модуль добавляет environment-фасеты client, browser и server. Внутренняя файловая форма модулей, сегментов и компонентов определяется стайлгайдом проекта.

Карта черновика