Я разместил аналогичное сообщение в списке рассылки golang, так как это связано с некоторыми специфическими для конкретного языка деталями. Я надеюсь, что поддержка cuncurrency, поддерживающая родной язык, может иметь лучший способ моделировать это, чем шаблон. Если вы не знакомы с golang, пожалуйста, помогите мне с вашими знаниями структуры данных в целом. Я думаю, что большинство моих сомнений нейтрально нейтральны, и у меня был лучший ответ от SO.Структура данных для моделирования отношения сдерживания/составного отношения
Я пытаюсь моделировать область хранения (имеет отношение к хранению, как, хранение -> стойка (ы) -> полка (ов) -> Bin (s). Как я узнал, обычно он может моделироваться с "композитным шаблон ", но в целях - Сохраняйте детали структуры (иерархии) отдельно от объектов - Используйте языковые конструкции (каналы для ходьбы по дереву и т. д.) Я думал о моделировании информации в дереве. имеют представление о том, какая наилучшая древовидная структура подходит для этого приложения.
- В go, я вижу две библиотеки, реализующие LLRB и treap. Что бы вы порекомендовали? доступна ли подходящая структура данных?
- Должно ли быть сбалансировано дерево? например, у меня может быть только одна полка в одной стойке, но может быть произвольно длинной сдерживающей способностью в других.
- Для быстрого обхода я сохраню его в памяти. Как управлять загрузкой, созданием и сохранением древовидной структуры? Я строю дерево каждый раз, когда я открываю приложение, и не сохраняю самого дерева, кроме объектов.
Трудно сказать много о параллелизме, не зная больше о вашем приложении. – Sonia