Skip to content

Связи сущностей

Endge связывает документы через identity и явные контракты входов и выходов. Ссылка не копирует другой документ внутрь текущего: она указывает, какой артефакт должен быть найден, скомпилирован или исполнен.

Типичный поток данных

text
Filter - Query.outputs - DataView - Store - ComponentSFC

                    Computation
  • Filter формирует условия запроса.
  • Query получает ответ и публикует именованные outputs.
  • DataView приводит данные к форме, удобной потребителю.
  • Composition определяет, какие outputs материализуются в Store.
  • ComponentSFC получает данные через порты.
  • Computation вычисляет производное значение из входного контекста.

Конкретный runtime-граф описывается в Composition. Общие операции преобразования значений вынесены в функциональные выражения, а доступные readers зависят от сущности.

Правила хорошей связи

  1. Ссылайтесь на стабильный identity, а не на отображаемое имя.
  2. Явно задавайте входы и выходы между документами.
  3. Не заставляйте Query выбирать место хранения результата — это ответственность Composition.
  4. Не передавайте внутренний путь Store как публичный контракт компонента.
  5. Проверяйте зависимости перед удалением или переименованием документа.

Локальные и глобальные документы

Некоторые механизмы могут использоваться локально внутри другого документа. Например, Query может содержать локальный DataView. Локальная форма должна компилироваться в тот же program-контракт, что и глобальный DataView, если их семантика одинакова.