301: Создатель/Хранилище
1. Введение
Этот документ рассказывает о Системе Хранения — это как специальная служба в мире Идей. Представь её как волшебную библиотеку или умный блокнот, чья главная задача — надёжно сохранять Идеи
.
Это основа для «памяти» всей системы. Благодаря Хранилищу, Идеи
можно сохранять и отслеживать их версии, чтобы потом другие службы, например Система-Решатель, могли их использовать.
2. Основная концепция: Хранилище как преобразователь идей
Хранилище работает по принципу «преобразователя идей». Это значит, что оно принимает одну Идею
на входе и возвращает другую на выходе.
- Что на входе:
Идея
, состоящая из трёх частей (схема
,решение
,контекст
). - Что происходит внутри: Служба получает
Идею
, даёт ей уникальный номер (как инвентарный номер у книги в библиотеке, который также учитывает версию), и надёжно сохраняет её, например, в специальной базе данных. - Что на выходе: В ответ служба возвращает ту же самую
Идею
. Это как получить квитанцию, подтверждающую, что твоюИдею
приняли и сохранили. Иногда на этой «квитанции» могут быть дополнительные пометки, например, тот самый уникальный номер и версия.
3. Хранилище как финишная черта этапа
Очень важная роль Хранилища — быть своего рода «финишной чертой» для одного этапа работы. Когда кто-то (пользователь или другая программа) отправляет Идею
и получает в ответ подтверждение, что всё хорошо, этот первый шаг считается завершённым.
Представь себе эстафету. Хранилище — это первый бегун. Он получает Идею
(эстафетную палочку), надёжно её сохраняет и передаёт дальше. Его работа на этом закончена. После этого другие службы могут увидеть, что появилась новая сохранённая Идея
, и начать свой этап работы. Это делает всю систему очень надёжной и гибкой. Не нужно ждать, пока завершится одно огромное дело — всё разбито на маленькие, независимые шаги.
4. Ключевые особенности
4.1. Хранение по принципу «чёрного ящика»
Хранилище работает как «чёрный ящик». Ты просто отправляешь туда Идеи
, не задумываясь о том, как именно они хранятся (в какой базе данных, на каких серверах). Это как сдать вещь в камеру хранения: ты не знаешь, как устроен замок, но уверен, что твоя вещь будет в безопасности. Служба гарантирует, что если Идея
принята, она будет надёжно сохранена.
4.2. Версии и неизменность
Система построена на принципе «неизменности». Это значит, что старые Идеи
никогда не удаляются и не изменяются. Если ты хочешь «обновить» Идею
, система не стирает старую. Вместо этого она создаёт новую версию, как бы делая новую запись в дневнике. Таким образом, у тебя всегда есть полная история всех изменений, и ты можешь вернуться к любой старой версии.
4.3. Адресация по содержимому
Каждая сохранённая Идея
получает свой уникальный адрес, состоящий из её номера и версии. Это похоже на то, как у каждой книги есть свой уникальный код (ISBN). Зная этот код, ты можешь безошибочно найти именно ту Идею
, которая тебе нужна.
5. Как с ним работать
Взаимодействовать с Хранилищем очень просто, потому что оно создано в основном для записи.
-
Основное действие: Единственное, что можно сделать, — это отправить
Идею
на хранение. -
Получение данных — задача другого: Чтобы не усложнять, Хранилище не отвечает за поиск и выдачу
Идей
. Это как почтовый ящик: ты можешь только опускать в него письма. А вот доставать их и доставлять адресату — это уже работа почтальона. В нашей системе роль такого «почтальона» выполняет служба Решатель.