mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 07:30:16 +03:00
50 lines
3.2 KiB
Markdown
50 lines
3.2 KiB
Markdown
# SLM Level 2
|
||
|
||
> Статус: рабочий черновик. Документы в этой папке не являются спецификацией.
|
||
|
||
Level 2 расширяет архитектурную базу Level 1 слоем `domains`. Он предназначен для проектов, в которых появились самостоятельные предметные области, но ещё не требуется строгая runtime-архитектура доменов.
|
||
|
||
## Наследование Level 1
|
||
|
||
Проект Level 2 соблюдает все определения и правила Level 1, если терминология Level 2 не задаёт расширение для нового слоя. Модуль, Group, сегмент, компонент, вложенный модуль, публичный API, граф зависимостей и владение жизненным циклом сохраняют смысл Level 1.
|
||
|
||
Канонический набор требований образуют два реестра:
|
||
|
||
- [правила Level 1](../rules/level-1.md);
|
||
- [дополнительные правила Level 2](../rules/level-2.md).
|
||
|
||
## Место в уровнях SLM
|
||
|
||
| Уровень | Назначение |
|
||
|---|---|
|
||
| Level 1 | Слои, зависимости, структурные сущности и жизненный цикл ресурсов |
|
||
| Level 2 | Доменный слой и доменные модули без строгой внутренней формы |
|
||
| Level 3 | Строгая внутренняя архитектура и runtime-границы доменов |
|
||
|
||
## Основная идея
|
||
|
||
Домен Level 2 является обычным SLM-модулем слоя `domains`. Он владеет одной связной предметной областью и может содержать всю необходимую ей реализацию, сегменты, компоненты и вложенные модули.
|
||
|
||
По умолчанию доменные модули размещаются непосредственно в слое. При большом количестве доменов слой также может содержать обычные навигационные Groups Level 1.
|
||
|
||
```text
|
||
src/domains/
|
||
├── auth/ # Доменный модуль
|
||
├── catalog/ # Доменный модуль
|
||
└── orders/ # Доменный модуль
|
||
```
|
||
|
||
## Область Level 2
|
||
|
||
Level 2 описывает роль слоя `domains`, границу доменного модуля, опциональную группировку и зависимости с участием нового слоя.
|
||
|
||
Level 2 не задаёт обязательные внутренние роли, каталоги или способ сборки доменного модуля. Строгая внутренняя архитектура относится к Level 3.
|
||
|
||
## Карта черновика
|
||
|
||
- [Терминология](./terminology.md)
|
||
- [Слои](./layers.md)
|
||
- [Домены](./domains.md)
|
||
- [Зависимости](./dependencies.md)
|
||
- [Проверка](./validation.md)
|