4.7 KiB
title, status, normative
| title | status | normative |
|---|---|---|
| Архитектурные modes | draft | true |
Архитектурные Modes
SLM является самостоятельной базовой архитектурой. Architecture mode - опциональный независимый overlay, который добавляет или явно заменяет отдельные правила base SLM.
SLM Advanced = SLM + Advanced rules
SLM Pro = SLM + Pro rules
SLM Advanced и SLM Pro не наследуют друг друга. Совпадающее требование декларируется отдельно внутри каждого overlay и не создаёт общей mode-ветки.
Выбор архитектуры
Приложение использует один из трёх вариантов:
SLM
SLM + Advanced
SLM + Pro
SLM-MODE-001 - ОБЯЗАН. Приложение должно зафиксировать использование base SLM и, при наличии, ровно одного overlay: Advanced или Pro.
SLM-MODE-002 - ЗАПРЕЩЕНО. Одно приложение не может одновременно заявлять соответствие SLM Advanced и SLM Pro.
SLM-MODE-003 - ОБЯЗАН. Выбранный overlay должен применяться ко всему приложению в пределах одной SLM application boundary.
Выбор выполняет команда на стадии планирования. Сигналами могут быть количество product responsibilities, связанность modules, runtime state, client/server execution, lifecycle risks и количество команд разработки. Фиксированные числовые пороги не устанавливаются.
| Вариант | Когда рассматривать |
|---|---|
SLM |
Product responsibilities удобно удерживать внутри compositions без дополнительного слоя |
SLM Advanced |
Нужны самостоятельные domains, но команда хочет свободно выбирать их внутреннюю структуру и связи |
SLM Pro |
Нужны изолированные domains, явные runtime contracts, adapters, lifecycle и усиленные checks |
Применимость правил
Base-правило имеет идентификатор вида:
SLM-AREA-NNN
Mode-specific правила имеют идентификаторы:
SLM-ADV-AREA-NNN
SLM-PRO-AREA-NNN
SLM-MODE-004 - ОБЯЗАН. Base-правила SLM применяются при любом выбранном варианте архитектуры. Если overlay явно заменяет base rule только в определённом scope, исходное base-правило продолжает действовать за пределами этого scope.
SLM-MODE-005 - ОБЯЗАН. Для SLM Advanced применяются только base-правила и правила из modes/advanced.
SLM-MODE-006 - ОБЯЗАН. Для SLM Pro применяются только base-правила и правила из modes/pro.
SLM-MODE-007 - ЗАПРЕЩЕНО. Правило другого overlay не может использоваться как обязательное требование, разрешение или исключение.
SLM-MODE-008 - ОБЯЗАН. Mode-specific правило, заменяющее base-поведение, должно явно назвать заменяемый base rule ID или нормативный раздел и точный scope замены.
Независимые overlays
SLM Advanced
SLM Advanced описывает полный Advanced-delta относительно base SLM.
SLM Pro
SLM Pro описывает полный Pro-delta относительно base SLM.
Изменение overlay
SLM-MODE-009 - МОЖЕТ. Команда может подключить, заменить или удалить overlay при изменении требований к архитектуре.
SLM-MODE-010 - ОБЯЗАН. После изменения конфигурации приложение может заявлять соответствие только после выполнения применимых base-правил с учётом scoped replacements и, при наличии, полного rule set выбранного overlay.