Тема
Связи сущностей
Endge связывает документы через identity и явные контракты входов и выходов. Ссылка не копирует другой документ внутрь текущего: она указывает, какой артефакт должен быть найден, скомпилирован или исполнен.
Типичный поток данных
text
Filter - Query.outputs - DataView - Store - ComponentSFC
↓
Computation- Filter формирует условия запроса.
- Query получает ответ и публикует именованные outputs.
- DataView приводит данные к форме, удобной потребителю.
- Composition определяет, какие outputs материализуются в Store.
- ComponentSFC получает данные через порты.
- Computation вычисляет производное значение из входного контекста.
Конкретный runtime-граф описывается в Composition. Общие операции преобразования значений вынесены в функциональные выражения, а доступные readers зависят от сущности.
Правила хорошей связи
- Ссылайтесь на стабильный identity, а не на отображаемое имя.
- Явно задавайте входы и выходы между документами.
- Не заставляйте Query выбирать место хранения результата — это ответственность Composition.
- Не передавайте внутренний путь Store как публичный контракт компонента.
- Проверяйте зависимости перед удалением или переименованием документа.
Локальные и глобальные документы
Некоторые механизмы могут использоваться локально внутри другого документа. Например, Query может содержать локальный DataView. Локальная форма должна компилироваться в тот же program-контракт, что и глобальный DataView, если их семантика одинакова.