mirror of
https://github.com/gromlab-ru/slm-design.git
synced 2026-08-22 07:30:16 +03:00
chore: границы доменов
This commit is contained in:
@@ -22,6 +22,38 @@
|
||||
>
|
||||
> В `app` размещаются только точки входа фреймворка для запуска, маршрутов, преобразования входных данных и подключения публичных API модулей разрешённых слоёв или ресурсов `shared`; ответственности этих модулей остаются за пределами `app`.
|
||||
|
||||
## Домены
|
||||
|
||||
### SLM-DOMAIN-R022
|
||||
|
||||
> **Владение доменным сценарием**
|
||||
>
|
||||
> Каждый доменный сценарий имеет ровно один модуль-владелец в слое `domains`. Код, который придаёт сценарию предметный смысл или определяет его продуктовый результат, включая модели, правила, переходы, продуктовое состояние, смысл операций с продуктовыми данными, предметные исходы, доменный UI и обслуживающие сценарий framework-механизмы, принадлежит этому модулю. Модули других слоёв, включая `compositions`, могут только использовать и компоновать сценарий через публичный API доменного модуля; отсутствие подходящего доменного модуля не разрешает временную или постоянную реализацию сценария вне `domains`.
|
||||
|
||||
### SLM-DOMAIN-R023
|
||||
|
||||
> **Владение доменным контрактом**
|
||||
>
|
||||
> Домен самостоятельно определяет публичный контракт своих сценариев на основе предметного смысла. Контракт источника данных не определяет форму доменного контракта и не становится его частью.
|
||||
|
||||
### SLM-DOMAIN-R024
|
||||
|
||||
> **Граница внешних данных**
|
||||
>
|
||||
> Данные и типы внешнего источника не пересекают публичную границу домена и не используются как доменные модели, состояние или результаты. Домен адаптирует внешние данные к собственному контракту до их использования в предметной реализации.
|
||||
|
||||
### SLM-DOMAIN-R025
|
||||
|
||||
> **Владение доменными ошибками**
|
||||
>
|
||||
> Домен объявляет публичный контракт ожидаемых неуспешных исходов своих сценариев. Реализация домена и интеграции с источниками используют этот контракт и не определяют независимые ошибки или новые исходы вне доменной декларации. Потребители зависят только от доменного контракта, а способ представления и передачи ошибок SLM не устанавливает.
|
||||
|
||||
### SLM-DOMAIN-R026
|
||||
|
||||
> **Изоляция чужих ошибок**
|
||||
>
|
||||
> Ошибка внешнего источника или другого модуля не пересекает публичную границу домена в исходной форме. Домен преобразует её в собственный ожидаемый исход либо в неожиданный дефект согласно общей политике приложения.
|
||||
|
||||
## Границы модулей
|
||||
|
||||
### SLM-MODULE-A004
|
||||
|
||||
Reference in New Issue
Block a user