Skip to content

Жизненный цикл документа

Жизненный цикл описывает путь от создания документа до его исполнения и последующего изменения.

Создание

Документ получает тип, identity и начальный source. Identity должен быть уникальным в своей коллекции и пригодным для долгоживущих ссылок.

Редактирование и валидация

Конфигуратор изменяет authoring-модель. Перед сохранением source проверяется на синтаксис и базовые контракты. Некоторые ошибки связей можно обнаружить только при компиляции полного контекста.

Компиляция

Компилятор преобразует source в program. Program содержит нормализованный контракт, с которым работает runtime, и не должен зависеть от состояния редактора.

Исполнение

Runtime создаёт host, подключает входы, подписки и ресурсы. Жизненный цикл host обычно включает создание, работу и освобождение. Временное состояние host не сохраняется как source автоматически.

Изменение версии

При обновлении документа следует повторно проверить его зависимости и создать новый runtime из новой программы. Уже работающий экземпляр не должен незаметно менять свой контракт посередине операции.

Архивация и удаление

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