mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 07:30:16 +03:00
feat: Добавить уровни сложности архитектуры
This commit is contained in:
@@ -7,7 +7,7 @@ normative: true
|
||||
|
||||
# SLM Design Specification
|
||||
|
||||
Эта директория содержит единый нормативный корпус SLM Design 2.0. Спецификация разделена на главы, но имеет общую версию, общий статус и единый приоритет правил.
|
||||
Эта директория содержит единый нормативный корпус SLM Design 2.0. Base SLM является законченной минимальной архитектурой; дополнительные ограничения подключаются независимыми overlays `SLM Advanced` или `SLM Pro`.
|
||||
|
||||
Пока статус равен `draft`, документы описывают проектируемую архитектуру и не заменяют действующую документацию в `docs/`.
|
||||
|
||||
@@ -20,7 +20,16 @@ normative: true
|
||||
| `СЛЕДУЕТ` | Рекомендуемое решение; отступление требует явного обоснования |
|
||||
| `МОЖЕТ` | Допустимый, но необязательный вариант |
|
||||
|
||||
Правила имеют стабильные идентификаторы вида `SLM-AREA-NNN`. Точное нормативное требование принадлежит только той главе, где объявлен его rule ID. Обзорная глава может ссылаться на правило, но не должна объявлять его повторно под новым ID.
|
||||
Правила имеют стабильные идентификаторы. Base использует формат `SLM-AREA-NNN`, Advanced - `SLM-ADV-AREA-NNN`, Pro - `SLM-PRO-AREA-NNN`. Точное нормативное требование принадлежит только той главе, где объявлен его rule ID.
|
||||
|
||||
## Architecture modes
|
||||
|
||||
Base SLM не требует overlay. Если команда выбирает дополнительную архитектурную политику, она подключает ровно один независимый mode согласно [Архитектурным modes](./architecture-modes.md):
|
||||
|
||||
```text
|
||||
SLM Advanced = SLM + Advanced rules
|
||||
SLM Pro = SLM + Pro rules
|
||||
```
|
||||
|
||||
## Приоритет
|
||||
|
||||
@@ -30,7 +39,7 @@ normative: true
|
||||
|
||||
**SLM-DOC-003 - ОБЯЗАН.** Изменение принятого архитектурного правила должно вноситься в главу, которая владеет соответствующим rule ID.
|
||||
|
||||
## Главы
|
||||
## Base SLM
|
||||
|
||||
### Основы
|
||||
|
||||
@@ -43,19 +52,10 @@ normative: true
|
||||
- [Обзор слоёв](./layers/index.md)
|
||||
- [App](./layers/app.md)
|
||||
- [Compositions](./layers/compositions.md)
|
||||
- [Domains](./layers/domains/index.md)
|
||||
- [Infra](./layers/infra.md)
|
||||
- [UI](./layers/ui.md)
|
||||
- [Shared](./layers/shared.md)
|
||||
|
||||
### Внутренняя модель Domains
|
||||
|
||||
- [Business](./layers/domains/business.md)
|
||||
- [Framework surface](./layers/domains/framework.md)
|
||||
- [Ports и adapters](./layers/domains/ports-and-adapters.md)
|
||||
- [Client и server assembly](./layers/domains/client-and-server.md)
|
||||
- [Cross-domain boundary](./layers/domains/cross-domain-boundary.md)
|
||||
|
||||
### Общие правила
|
||||
|
||||
- [Модули и группы](./modules-and-groups.md)
|
||||
@@ -66,8 +66,26 @@ normative: true
|
||||
- [Тестирование и соответствие](./testing-and-conformance.md)
|
||||
- [Монорепозитории](./monorepo.md)
|
||||
|
||||
## Overlays
|
||||
|
||||
### SLM Advanced
|
||||
|
||||
- [Отличия Advanced от base SLM](./modes/advanced/index.md)
|
||||
- [Domains в SLM Advanced](./modes/advanced/domains.md)
|
||||
|
||||
### SLM Pro
|
||||
|
||||
- [Отличия Pro от base SLM](./modes/pro/index.md)
|
||||
- [Domains в SLM Pro](./modes/pro/domains/index.md)
|
||||
- [Business](./modes/pro/domains/business.md)
|
||||
- [Framework surface](./modes/pro/domains/framework.md)
|
||||
- [Ports и adapters](./modes/pro/domains/ports-and-adapters.md)
|
||||
- [Client и server assembly](./modes/pro/domains/client-and-server.md)
|
||||
- [Cross-domain boundary](./modes/pro/domains/cross-domain-boundary.md)
|
||||
- [Тестирование Pro domains](./modes/pro/domains/testing.md)
|
||||
|
||||
## Область текущего draft
|
||||
|
||||
Спецификация фиксирует уже согласованные границы слоёв, доменов, business-фабрик, adapters, runtime assembly и cross-domain composition.
|
||||
Base SLM фиксирует ownership, пять основных слоёв, public boundaries, state и lifecycle. Текущие версии Advanced и Pro в первую очередь определяют собственные независимые модели слоя `domains`; будущие mode-specific правила могут относиться к любому разделу архитектуры.
|
||||
|
||||
Точная форма React Providers, окончательная политика package extraction для domains и единая модель query cache не фиксируются сверх явно объявленных в соответствующих главах инвариантов.
|
||||
Точная форма React Providers, окончательная политика package extraction и единая модель query cache не фиксируются сверх явно объявленных инвариантов base или выбранного overlay.
|
||||
|
||||
Reference in New Issue
Block a user