Начну разбирать жизненный цикл Арки. Он состоит из 5 очевидных этапов:
- Создание
- Инициализация или подготовка к работе
- Работа
- Завершение работы или финализация
- Удаление
Я начну с Инициализации, так как
- Создание и Удаление — это внешние действия по отношению к Арке.
- Работа — это этап который специфичен для конкретного типа арки.
- Финализация зависит от инициализации.
Важно: Инициализацию арки нельзя рассматривать отдельно от других арок. Во-первых, в соответствии с рабочим определением: «арка — это объект, предназначенный для работы в архитектурной схеме». Во-вторых, частью инициализации должно быть установление связей. Я описывал схему для игры в «крестики-нолики», в которую входили арки «Движок», «Доска», «Игрок 1», «Игрок 2». Между ними должны быть установлены связи, позволяющие им взаимодействовать. При этом надо избежать ошибки, когда инициализированная арки пытается обратится к другой, которая еще не инициализирована. Такую ошибку надо сделать невозможной, или, хотя бы, легко диагностируемой до начала работы.
Я считаю, что минимальной единицей инициализации является под-дерево, состоящее из верстаков и арок. При этом инициализацию верстаков можно рассматривать отдельно, так как если следовать разделению, которое было сделано в Вире, в верстаке нет «пользовательского кода», и, следовательно, инициализация верстака может быть отдельно проверена, а желательно доказана.
Замечание: Я почти уверен в том, что разделение арок на верстаки (архитектурные узлы) и собственно арки (инструменты с пользовательским кодом) верное, и что оно приводит к упрощению всей конструкции. Ключевое слово здесь «почти» — то есть я открыт к другому решению, если будет очевидно, что оно лучше.
Перед тем, как продолжить выстраивание инициализации, надо понять, как арки взаимодействуют и какие связи при этом должны быть установлены.