Files
slm-design/DRAFT/level-2

SLM Level 2

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

Level 2 расширяет архитектурную базу Level 1 слоем domains. Он предназначен для проектов, в которых появились самостоятельные предметные области, но ещё не требуется строгая runtime-архитектура доменов.

Наследование Level 1

Проект Level 2 соблюдает все определения и правила Level 1, если терминология Level 2 не задаёт расширение для нового слоя. Модуль, Group, сегмент, компонент, вложенный модуль, публичный API, граф зависимостей и владение жизненным циклом сохраняют смысл Level 1.

Канонический набор требований образуют два реестра:

Место в уровнях SLM

Уровень Назначение
Level 1 Слои, зависимости, структурные сущности и жизненный цикл ресурсов
Level 2 Доменный слой и доменные модули без строгой внутренней формы
Level 3 Строгая внутренняя архитектура и runtime-границы доменов

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

Домен Level 2 является обычным SLM-модулем слоя domains. Он владеет одной связной предметной областью и может содержать всю необходимую ей реализацию, сегменты, компоненты и вложенные модули.

По умолчанию доменные модули размещаются непосредственно в слое. При большом количестве доменов слой также может содержать обычные навигационные Groups Level 1.

src/domains/
├── auth/                    # Доменный модуль
├── catalog/                 # Доменный модуль
└── orders/                  # Доменный модуль

Область Level 2

Level 2 описывает роль слоя domains, границу доменного модуля, опциональную группировку и зависимости с участием нового слоя.

Level 2 не задаёт обязательные внутренние роли, каталоги или способ сборки доменного модуля. Строгая внутренняя архитектура относится к Level 3.

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