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)
|