Структура данных(дерево) с несколькими классами
Я побежал к проблеме, у меня есть задача с категориями и элементами, мне нужно сделать список дерева меню, он может быть N глубоким, родитель может иметь много детей, как он хочет:
Дерево меню выглядит следующим образом:
- Category (6) - Category (3) - Item (€0.50) - Category (2) - Item (€1.10) - Item (€6.25) -Category (1) - Item (€3.33) - Category (2) - Item (€1.10) - Item (€9.99) - Category (0) - Category (2) - Category (1) - Item (€0.50) -Category (1) - Item (€0.60)
Элемент может иметь свойства - имя, активный, цена. Категория может иметь - имя, активный.
Так что, может быть, у меня есть какие-нибудь предложения, какое дерево я должен использовать ? Нужно ли мне создавать 2 таблицы для этого дерева, потому что, на мой взгляд, категория ничего не должна знать о цене, а также, возможно, сделать товар открытым для новых изменений, например добавления новых полей.
Что я уже пробовал:
Я провел только одно исследование и подумал, что смогу найти мнение, которое, возможно, сделало что-то подобное или имеет какое-то представление о том, какую структуру данных мне следует использовать.
BillWoodruff
Это проект WinForms ? Когда вы говорите "меню", вы имеете в виду, что есть какой-то визуальный интерфейс, который является частью этого ?
Вы написали какой-нибудь код ?
"создайте 2 таблицы для этого дерева" вы говорите здесь о таблице базы данных ?
Dntdothis
Да, 2 таблицы, ну я же не писал никакого кода, так как хочу иметь четкое видение, как это сделать со стороны архитектуры.
BillWoodruff
Действительно ли узел элемента всегда будет конечным узлом, то есть он никогда не будет содержать других узлов ? Именно такую структуру показывает сейчас ваш код.
Dntdothis
Да, это как продукт с ценой, так что он не будет содержать детей