# SLM Level 1 > Статус: рабочий черновик. Документы в этой папке не являются спецификацией. Level 1 задаёт полную структурную основу SLM: слои, модули, доменные модули, публичные границы, граф зависимостей и владение жизненным циклом. ## Место в уровнях SLM | Уровень | Назначение | |---|---| | Level 1 | Слои, доменные модули, зависимости, структурные сущности и жизненный цикл ресурсов | | Level 2 | Опциональная пакетная форма отдельных доменов, именованные API, assemblies и явные границы сред выполнения | Переход отдельного домена на Level 2 может требовать рефакторинга, но базовые понятия Level 1 сохраняются. Остальные домены того же SLM root могут оставаться модулями Level 1. ## Область Level 1 Level 1 описывает слои, доменные модули, группы, сегменты, компоненты, публичный API, граф зависимостей и владение жизненным циклом ресурсов. Level 1 не задаёт обязательную внутреннюю форму доменного модуля, фабрики, порты, адаптеры, assemblies, обязательный поток данных, монорепозитории, соглашения об именовании и файловый стайлгайд. Появление нескольких сред выполнения, нескольких независимо собираемых API или необходимости разделить бизнес-логику и технические сборки является сигналом перевести конкретный домен на [Level 2](../level-2/). ## Виды утверждений - **Определение** нормативно задаёт смысл архитектурного термина, но не получает код правила. - **Правило** задаёт блокирующий архитектурный инвариант и объявляется в каноническом реестре. - **Рекомендация** помогает принять решение, но не делает архитектуру невалидной. - **Пример** иллюстрирует модель и не задаёт обязательную структуру. Нормативные определения находятся в [терминологии](./terminology.md). Канонический набор правил: [правила SLM Level 1](../rules/level-1.md). Формат и требования к ним: [Правила SLM](../rules/). Остальные документы Level 1 объясняют и иллюстрируют модель, но не владеют точными формулировками определений и правил. ## Основная идея Модуль является основной архитектурной единицей SLM. Слой задаёт роль и направление зависимостей. Доменный модуль представляет одну предметную область. Группа помогает навигации, сегмент организует внутреннее содержимое, а компонент всегда принадлежит модулю. Level 1 требует отдельную папку и единый публичный API модуля. Имена этих элементов, внутренняя файловая форма модулей, сегментов и компонентов определяются стайлгайдом проекта. ## Карта черновика - [Терминология](./terminology.md) - [Слои](./layers.md) - [Доменные модули](./domains.md) - [Зависимости](./dependencies.md) - [Модули](./modules.md) - [Группы](./groups.md) - [Сегменты](./segments.md) - [Компоненты](./components.md) - [Вложенные модули](./nested-modules.md) - [Жизненный цикл](./lifecycle.md) - [Проверка](./validation.md)